Submission #834254

#TimeUsernameProblemLanguageResultExecution timeMemory
834254gagik_2007Catfish Farm (IOI22_fish)C++17
14 / 100
754 ms154468 KiB
#include "fish.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; typedef pair<int, int> pii; typedef pair<ll, ll> pll; #define ff first #define ss second ll ttt; const ll INF=1e18; const ll MOD=1e9+7; const ll N=3007; ll n,m,k; ll pf[N][N]; ll dp[N][20][20]; ll max_weights(int NN, int MM, vector<int> X, vector<int> Y, vector<int> W) { n=NN; m=MM; for(int i=0;i<m;i++){ pf[X[i]][Y[i]+1]=W[i]; } for(int i=0;i<n;i++){ for(int j=1;j<max(n,10ll);j++){ pf[i][j]+=pf[i][j-1]; } } for(int i=0;i<=9;i++){ // cout<<dp[0][1][1]<<endl; dp[0][0][i]=pf[1][i]; // cout<<"0, 0, "<<i<<": "<<dp[0][0][i]<<endl; } // cout<<endl; ll ans=0; for(int i=1;i<n;i++){ for(int j=0;j<=9;j++){ for(int k=0;k<=9;k++){ // cout<<i<<", "<<k<<", "<<j<<": "; for(int p=0;p<=9;p++){ // cout<<p<<": "; ll res=dp[i-1][p][k]; // cout<<i-1<<" "<<p<<" "<<k<<": "<<dp[i-1][p][k]<<" "; res-=pf[i][min(k,j)]; // cout<<res<<" "; if(j>p&&j>k){ res+=pf[i-1][j]-pf[i-1][max(p,k)]; } // cout<<res<<" "; if(i!=n-1){ res+=pf[i+1][j]; } dp[i][k][j]=max(dp[i][k][j],res); // cout<<res<<", "; } ans=max(ans,dp[i][k][j]); // cout<<dp[i][k][j]<<"\n"; } // cout<<endl; } // cout<<endl; } return ans; }
#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...