代码
#include <iostream>
#include <map>
#include <math.h>
using namespace std;
int main() {
int n;
cin>>n;
map<int, int> m;
for(int i=1; i<=n; i++){
int t;
cin>>t;
int sub = abs(t-i);
m[sub]++;
}
for(int i=n; i>=0; i--){
if(m[i]>1){
cout<<i<<" "<<m[i]<<endl;
}
}
return 0;
}
注解
1、用map存储数字跟次数的映射关系。很常用的方法,map是个非常有力的武器,要经常记得使用!