Submission #776719

#TimeUsernameProblemLanguageResultExecution timeMemory
776719alexander707070Catfish Farm (IOI22_fish)C++17
12 / 100
91 ms15756 KiB
#include<bits/stdc++.h> #define MAXN 100007 using namespace std; int n,m; long long sum[MAXN],dp[MAXN]; bool li[MAXN]; long long ff(int pos){ if(pos==-1)return 0; if(li[pos])return dp[pos]; li[pos]=true; dp[pos]=ff(pos-1); if(pos==n-1){ dp[pos]=max(dp[pos],ff(pos-2)+sum[pos]); }else if(pos>=2){ dp[pos]=max(dp[pos], max(ff(pos-3)+sum[pos]+sum[pos-1],ff(pos-2)+sum[pos]) ); }else if(pos==1){ dp[pos]=max(dp[pos],ff(pos-2)+sum[pos]); }else if(pos==0){ dp[pos]=max(dp[pos],ff(pos-1)+sum[pos]); } return dp[pos]; } long long max_weights(int N, int M,vector<int> X,vector<int> Y,vector<int> W){ n=N; m=M; for(int i=0;i<m;i++){ sum[X[i]]+=W[i]; } if(n==2)return max(sum[0],sum[1]); return ff(n-1); } /* int main(){ cout<<max_weights(5, 4, {0, 1, 4, 3}, {2, 1, 4, 3}, {5, 2, 1, 3})<<"\n"; } */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...