P1843
  • 板块灌水区
  • 楼主HCZX2309_012
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/12/29 19:15
  • 上次更新2024/12/29 23:58:02
查看原帖
P1843
1576876
HCZX2309_012楼主2024/12/29 19:15
#include<bits/stdc++.h>
using namespace std ;

int n , a , b , l = 1 , r = 500005 ;
int x[ 500005 ] , y[ 500005 ] ;
bool check( int sum )
{
    int cnt = 0 ;
    memset( y , 0 , sizeof( y ) ) ;
    for ( int i = 1 ; i <= n ; i ++ )
    {
    	y[i] = a * sum ;
	}
	for ( int i = 1 ; i <= n ; i ++ )
	{
		int res = 0 ;
		while( y[i] < x[i] )
		{
			y[i] += b ;
			res ++ ;
		}
		cnt += res ;
	}
	return cnt <= sum ;
}
int main()
{
	
	cin >> n >> a >> b ;
	for ( int i = 1 ; i <= n ; i ++ ) cin >> x[i] ;
	
	while ( l < r )
	{
		int mid = ( l + r ) / 2 ;
		if ( check( mid ) ) 
		{
			r = mid ;
		}
		else l = mid + 1 ;
	}
	cout << r ;
	return 0 ;
}

2024/12/29 19:15
加载中...