20求调
查看原帖
20求调
1455713
Taojizhu1126楼主2025/1/13 15:26

代码如下:

#include<bits/stdc++.h>
using namespace std;
long long n,m,ll[11111],ss[11111];
bool check(int mid){
	long long s=0;
	for(int i=1;i<=n;i++)
		s+=ll[i]/mid*ss[i];
	return s>=m;
}
int main(){
	cin>>n>>m>>ll[1]>>ss[1];
	for(int i=2;i<=n;i++){
		ll[i]=(ll[i-1]*7011+193)%10000+1;
		ss[i]=(ss[i-1]*11+93)%100+1;
	}
	sort(ss+1,ss+n+1);
	sort(ll+1,ll+n+1);
	long long l=1,r=1000000;
	while(l+1<r){
		long long mid=l+((r-l)>>1);
		if(check(mid))l=mid;
		else r=mid;
	}
	cout<<l;
	return 0;
}
2025/1/13 15:26
加载中...