This Message Will Self-Destruct in 5s
傳送門
題意:一個數列,要求滿足序號差等於值之和的對數。
思路:
即。重點在於兩兩配對的代碼操作。
代碼:
#include<bits/stdc++.h>
using namespace std;
const int maxn=200005;
typedef long long ll;
ll a[maxn];
map<ll,int>mp;
int main(){
ll n;
scanf("%d",&n);
for(ll i=1;i<=n;i++){
scanf("%d",&a[i]);
if(i>=a[i]) mp[i-a[i]]++;
}
ll ans=0;
for(ll i=1;i<=n;i++){
ans+=mp[a[i]+i];
}
printf("%lld\n",ans);
}