简单哈希数组题
注意输出只需要输出重复的,出现一次不叫重复,我像个弱智一样反复读了好多遍题目才懂。

#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
int hash[10005]={0};
int arr[10005];
int main(){
	int n;
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%d",&arr[i]);
		hash[abs(arr[i]-i)]++;
	}
	
	for(int i=n-1;i>=0;i--){
		if(hash[i]>1){
			printf("%d %d\n",i,hash[i]);
		}
	}
	return 0;
}