30pts求助
查看原帖
30pts求助
1096011
2023z楼主2024/7/26 15:34
#include<bits/stdc++.h>
using namespace std;
long long a[1000010],sum;
int main(){
	int n,k;
	cin>>n>>k>>a[1];
	for(int i=2;i<=k;i++) a[i]=a[i-1]+((a[i-1]*2357+137)%10)+1;
	int l=1,r=1e4,mid;
	while(l<=r){
		mid=(l+r)/2;
		int cnt=0;
		for(int i=1;i<=k;i++){
			if(a[i+1]-a[i]<mid){
				int j;
				for(j=i+2;j<=k;j++){
					if(a[j]-a[i]>=mid) break;
				}
				if(a[j]-a[i]<mid) break;
				else{
					i=j-1;
					cnt++;
				}
			}
			else cnt++;
		}
		if(cnt>=n){
			sum=mid;
			l=mid+1;
		}
		else r=mid-1;
	}
	cout<<sum;
	return 0;
}
2024/7/26 15:34
加载中...