开始的思路是先从大到小排序,再统计----憨(⊙﹏⊙)b
数字到数字,可以通过映射来 hashmap 散列的思想
只有大于等于2 才输出,从大到小,逆序即可
#include<bits/stdc++.h>
using namespace std;
#define INF 0x3f3f3f3f
typedef long long int ll;
const ll N = 1e4+10 ;
int t;
bool big(char a, char b) {return a > b;}
int main(){
int n;cin>>n;
int ans[N]={0};
for(int i=1;i<=n;i++){
cin>>t;
ans[abs(t-i)]++;
}
for (int i = 9999; i >= 0; i--)
if (ans[i] >= 2) cout << i << " " << ans[i] << endl;
return 0;
}