比赛 CSP2023-J模拟赛 评测结果 AAAAAAAAAATTTTTTTTTT
题目名称 排列变换 最终得分 50
用户昵称 88ralei 运行时间 10.246 s
代码语言 C++ 内存使用 9.91 MiB
提交时间 2023-10-18 19:17:35
显示代码纯文本
#include<iostream>
#include<queue>
using namespace std;
int n,valua=-1e8,w[1000005];
deque <int> q;
inline int read(){
	char ch;
	int x=0,w=1;
	while(ch<'0'||ch>'9'){
		if(ch=='-')w=-1;
		ch=getchar();
	}
	while(ch>='0'&&ch<='9'){
		x=x*10+(ch-'0');
		ch=getchar();
	}
	return x*w;
}
int main(){
	freopen("permutrans.in","r",stdin);
	freopen("permutrans.out","w",stdout);
	n=read();
	for(register int i=1;i<=n;i++){
		int a=read();
		q.push_back(a);
	}
	for(register int i=0;i<n;i++){
		int x=q.back();
		q.pop_back();
		q.push_front(x);
		int cnt=0;
		for(register int j=1;j<=n;j++)if(q[j]>=j)cnt++;
		if(cnt>valua)w[cnt]=i;
		valua=max(valua,cnt);
	}
	cout<<valua<<" "<<w[valua];
	return 0;
}