0分求diao
查看原帖
0分求diao
1043209
lmayyds楼主2024/7/22 09:46
#include<bits/stdc++.h>
using namespace std;
int n,a[600001],b[300001],minn=0x7fffff,mine[300001];
unsigned long long s[300001]={0}; 
int ss[300001],sss=0x7fffffff,sis;
bool hash(int a[300001],int j,int k){
	for(int q=k;q<n+k;++q){
		s[j]+=13331*s[j]+a[q];
		ss[j]=k;
	}
	return 0;
}
int main(){
	cin>>n;
	for(int i=1;i<=n;++i){
		cin>>a[i];
		a[i+n-1]=a[i];
		b[i]=a[i];
	}
	sort(b+1,b+1+n);
	int j=1;
	minn=b[1];
	for(int i=1;i<=n;++i){
		if(a[i]==minn){
			mine[j]=i;
			j++;
		}
	}
	for(int i=1;i<=j;++i){
		hash(a,i,mine[i]);
	}
	for(int i=1;i<=j;++i){
		if(s[i]<=sss){
			sss=s[i];
			sis=ss[i];
		}
	}
	for(int i=sis;i<n+sis;++i){
		cout<<a[i]<<' ';
	}
	return 0;
}
2024/7/22 09:46
加载中...