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;
}