50分TLE超时~求助!!
查看原帖
50分TLE超时~求助!!
1285008
Genshin_Balladeer楼主2024/5/25 08:42
#include<iostream>
#include<iomanip>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std;
int a[500001],b[500001];
int main(){
	int n,max=-1;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>a[i];
		if(a[i]>=max){
			max=a[i];
		}
	}
	int K;
	for(int j=4;j<=max;j++){
		K=j;
		for(int i=0;i<n;i++){
			b[a[i]%K]++;
		} 
/*		for(int i=0;i<max;i++){
			cout<<a[i]<<' ';
		}
		cout<<endl;
		for(int i=0;i<max;i++){
			cout<<b[i]<<' ';
		}
		cout<<endl;		
*/		int h=0;
		for(int i=0;i<K;i++){
			int x=b[i];
			b[i]=0;
			if(x>=2){
				h=1;
			}
		}
/*		for(int i=0;i<max;i++){
			cout<<b[i]<<' ';
		}
		cout<<endl<<endl;
		for(int i=0;i<max;i++){
			b[i]=0;
		}
*/		if(h==0){
			break;
		}
	}
	cout<<K;
	return 0;
}
2024/5/25 08:42
加载中...