map+思维:B - Journey Planning

    科技2024-09-29  18

    题目链接:https://vjudge.net/contest/399382#problem/B 题解:相同一串的满足的条件是bj-bi=j-i,所以通过移项可以得到bj-j=bi-i,所以是个一对一关系,所以自然想到了map,相同的累加即可,最后得出最大值输出。 代码:

    #include<iostream> #include<map> #include<string> #include<algorithm> #define maxx 400000 using namespace std; typedef long long ll; map<ll,ll>m; int main() { int n; scanf("%d",&n); ll t; ll maxn=-1*0x3f3f3f3f; for(int i=0;i<n;i++) { scanf("%lld",&t); m[t-i]+=t; maxn=max(maxn,m[t-i]); } cout<<maxn<<endl; return 0; }
    Processed: 0.018, SQL: 8