
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3365
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <iostream>
#include <cstring>
#include <queue>
#include <vector> #define maxn 50500
#define maxe 11000
#define INF 0x3f3f3f
using namespace std; int a[maxn],b[maxn]; int main(){
//freopen("input.txt","r",stdin);
int n;
while(scanf("%d",&n) == ){
for(int i=;i<=n;i++){
scanf("%d",&a[i]);
b[i] = a[i] - i;
}
sort(b+,b+n+);
int maxnum,renum;
maxnum = ; for(int i=;i<=n;i++){
int num = ;
for(int j=i+;j<=n;j++){
if(b[j] == b[i]) num++;
else{
i = j-;
break;
}
}
if(num > maxnum){ // 这个嵌套有问题,导致WA;
maxnum = num;
renum = b[i];
}
}
printf("%d\n",n-maxnum);
for(int i=;i<n;i++) printf("%d ",renum+i);
printf("%d\n",renum+n);
}
}