PTA乙级题 1083. 是否存在相等的差 (20)

【题目链接】


#include<iostream>
#include<cstring>
using namespace std;
int main()
{
    int i,a,n,map[100000];
    memset(map,0,sizeof(map));
    cin>>n;
    for (i=1;i<=n;i++)
    {
        cin>>a;
        a=abs(a-i);//abs是绝对值函数
        map[a]++;
    }
    for (i=99999;i>=0;i--)
    {
        if (map[i]>1)
        cout<<i<<" "<<map[i]<<endl; 
    }
}