TLE求救
查看原帖
TLE求救
1324559
luogu20130420楼主2024/4/15 20:50

TLE了怎么办? 请各位大佬指点一下。 程序如下:

#include<bits/stdc++.h>
using namespace std;
long long n,k;
int Tethered(int x,long long a[]){
	int sum=0,temp=1;
	for(int i=2;i<=k;i++){
		while(a[i]-a[temp]>=x){
			temp=i;
			sum++;
		}
	}
	return sum;
}
int main(){
	cin>>n>>k;
	long long a[k];
	cin>>a[0];
	for(int i=1;i<k;i++){
		a[i]=a[i-1]+(a[i-1]*2357+137)%10+1;
	}
	int l=0,r=a[k],mid=0;
	int ans;
	while(l<=r){
		mid=(l+r)/2;
		if(Tethered(mid,a)>=n) l=mid+1;
		if(Tethered(mid,a)<n) r=mid-1;
	}
	cout<<--l;
	return 0;
}
2024/4/15 20:50
加载中...