题目链接:
思路:定义整型数组desc,下标表示差值,里面存储差值的重复次数
由输出示例可知,最后需要输出的是重复次数大于等于2的那些
AC代码:
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int N;
cin>>N;
int desc[10000]={0};
for(int i=1;i<=N;i++){
int num,t,pos;
cin>>num;
pos=i;
if(pos>num) swap(num,pos);
desc[num-pos]++;
}
for(int i=9999;i>=0;i--){
if(desc[i]>=2) cout<<i<<" "<<desc[i]<<endl;
}
return 0;
}