Submission #837729

#TimeUsernameProblemLanguageResultExecution timeMemory
837729BaytoroCatfish Farm (IOI22_fish)C++17
18 / 100
69 ms7268 KiB
#include "fish.h" #include <bits/stdc++.h> //#include "grader.cpp" using namespace std; #define ll long long #define sc second #define fr first #define pb push_back long long max_weights(int n, int m, vector<int> x, vector<int> y, vector<int> w){ bool sb1=1,sb2=1,sb3=1; for(int i=0;i<m;i++){ sb1&=(x[i]%2==0); sb2&=(x[i]<=1); sb3&=(y[i]==0); } if(sb1){ ll sum=0; for(int i=0;i<m;i++) sum+=w[i]; return sum; } if(sb2){ vector<ll> a(n),b(n); ll A=0,B=0; for(int i=0;i<m;i++){ if(x[i]==0){ A+=w[i]; a[y[i]]=w[i]; } else{ B+=w[i]; b[y[i]]=w[i]; } } if(n==2) return max(A,B); ll x=0,y=B; for(int i=0;i<n;i++){ x+=a[i]; y-=b[i]; B=max(B,x+y); } return B; } if(sb3){ vector<ll> a(n); for(int i=0;i<m;i++) a[x[i]]=w[i]; vector<ll> dp(n),mx(n); for(int i=1;i<n;i++){ dp[i]=mx[i-1]+a[i]; mx[i]=max(mx[i-1],dp[i-1]); if(i>1) mx[i]=max(max(mx[i-2],dp[i-2])+a[i-1],mx[i]); else mx[i]=max(a[i-1],mx[i]); } ll ans=0; for(int i=0;i<n;i++) ans=max({ans,dp[i],mx[i]}); return ans; } }

Compilation message (stderr)

fish.cpp: In function 'long long int max_weights(int, int, std::vector<int>, std::vector<int>, std::vector<int>)':
fish.cpp:59:1: warning: control reaches end of non-void function [-Wreturn-type]
   59 | }
      | ^
#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...