PAT 1083 是否存在相等的差 (20 分)

#include 
#include
using namespace std;
int main(){
    map> map;//第三个参数compare(默认为less),此时我们需要降序
    int n, t;
    cin >> n;
    for (int i = 1; i <= n; i++) {
        cin >> t;
        map[abs(t - i)]++;      //取绝对值加到map中
    }
    for (auto it = map.begin(); it != map.end(); it++)
        if(it->second>1)        //注意要重复次数大于1才输出
            cout << it->first << " " << it->second << endl;
    return 0;
}

你可能感兴趣的:(PAT 1083 是否存在相等的差 (20 分))