A. Journey Planning:题目
mp的应用,和下标同样的差一定会越来越大,知道这点就好写了。
#include <bits/stdc++.h>
using namespace std;
#define int long long
vector<int> a((int)6e5);
vector<int> b((int)6e5), c((int)6e5);
const int mod = 1e9 + 7;
map<int,int>mp1,mp2;
signed main()
{int n;cin>>n;int cnt = 0;for (int i=1;i<=n;i++){cin>>a[i];int u = a[i]-i;if (mp1[u]==0) {mp2[u] = cnt++;}mp1[u]++;b[mp2[u]]+=a[i];}int res = 0;for (int i=0;i<cnt;i++) res = max(res,b[i]);cout<<res<<endl;
}