Submission #660421

#TimeUsernameProblemLanguageResultExecution timeMemory
660421Ahmed57Go (COCI18_go)C++14
0 / 100
201 ms324440 KiB
#include <bits/stdc++.h> using namespace std; vector<vector<int>> v; int m,n,k; int dp[101][101][2001][2]; long long solve(int l,int r,int ti,int tu){ if(ti>2000)return 0; if(l==0&&r==m)return 0; if(dp[l][r][ti][tu]!=-1)return dp[l][r][ti][tu]; int ind = 0; if(l+1==r){ ind = m; }else { if(tu==0){ ind = v[l+1][0]; }else{ ind = v[r-1][0]; } } long long c1 = 0; if(l>=0){ int ne = ti+abs(v[l][0]-ind); c1 = max(c1,solve(l-1,r,ne,0)+(ne<=v[l][2]?v[l][1]:0)); }if(r<m){ int ne = ti+abs(v[r][0]-ind); c1 = max(c1,solve(l,r+1,ne,1)+(ne<=v[r][2]?v[r][1]:0)); } return dp[l][r][ti][tu] = c1; } int main(){ cin>>n>>k>>m; int u = m; for(int i = 0;i<m;i++){ long long a,b,c;cin>>a>>b>>c; v.push_back({a,b,c}); if(a>=m&&u==m){ u = i; } } memset(dp,-1,sizeof dp); cout<<solve(u-1,u,1,0); }

Compilation message (stderr)

go.cpp: In function 'int main()':
go.cpp:36:22: warning: narrowing conversion of 'a' from 'long long int' to 'int' [-Wnarrowing]
   36 |         v.push_back({a,b,c});
      |                      ^
go.cpp:36:22: warning: narrowing conversion of 'a' from 'long long int' to 'int' [-Wnarrowing]
go.cpp:36:24: warning: narrowing conversion of 'b' from 'long long int' to 'int' [-Wnarrowing]
   36 |         v.push_back({a,b,c});
      |                        ^
go.cpp:36:24: warning: narrowing conversion of 'b' from 'long long int' to 'int' [-Wnarrowing]
go.cpp:36:26: warning: narrowing conversion of 'c' from 'long long int' to 'int' [-Wnarrowing]
   36 |         v.push_back({a,b,c});
      |                          ^
go.cpp:36:26: warning: narrowing conversion of 'c' from 'long long int' to 'int' [-Wnarrowing]
#Verdict Execution timeMemoryGrader output
Fetching results...