Submission #778752

#TimeUsernameProblemLanguageResultExecution timeMemory
778752YassirSalamaCatfish Farm (IOI22_fish)C++17
0 / 100
28 ms12500 KiB
#include "fish.h" #include<bits/stdc++.h> #include <vector> using namespace std; #define all(v) v.begin(),v.end() const int MAXN=1e5+1000; long long dp[MAXN][2];//0 last one is not built, 1 last one is built vector<int> v(MAXN,0); int n; int m; long long solve(int i,int st){ if(i==MAXN) return 0LL; if(dp[i][st]!=-1) return dp[i][st]; if(v[i]==0){ return dp[i][0]=dp[i][1]=solve(i+1,1); } long long mx=0; if(st==1){ mx=max(mx,solve(i+1,0)+v[i]); mx=max(mx,solve(i+1,1)); mx=max(mx,solve(i+2,1)+v[i]); }else{ mx=max(mx,solve(i+1,1)); mx=max(mx,solve(i+2,1)+v[i]); } return dp[i][st]=mx; } long long max_weights(int N, int M, vector<int> X, vector<int> Y, vector<int> W) { memset(dp,-1,sizeof(dp)); for(int i=0;i<M;i++) v[X[i]]+=W[i]; return solve(0,0); }
#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...