80分,最后2个测试点wa,求调!!!(十万火急)
查看原帖
80分,最后2个测试点wa,求调!!!(十万火急)
1148292
JSY2012楼主2024/5/5 19:03
#include<bits/stdc++.h>
using namespace std;
int n,k,a[999999],ans,mid,t,sum,l,r;
int main(){
	cin>>n>>k>>a[1];
    for(int i=2;i<=k;i++) a[i]=(a[i-1]*2357+137)%10+1+a[i-1];
    l=1,r=a[k];
    while(l<=r){
        mid=floor((l+r)/2),t=1,sum=1;\
        for(int i=2;i<=k;i++)
            while(a[i]-a[t]>=mid){
                t=i;
                sum++;
        	}
        if(sum>=n){
            ans=mid;
            l=mid+1;
        }
        else r=mid-1;
    }
    cout<<ans;
    return 0;
}
2024/5/5 19:03
加载中...