Submission #68115

#TimeUsernameProblemLanguageResultExecution timeMemory
68115thebesDostavljač (COCI18_dostavljac)C++14
140 / 140
263 ms4792 KiB
#include <bits/stdc++.h> using namespace std; const int MN = 505; typedef long long ll; ll dp[MN][MN], en[MN][MN], arr[MN], N, T, i, j, k, x, y; vector<int> adj[MN]; void solve(int n,int p){ for(auto v : adj[n]) if(v != p) solve(v, n); for(auto v : adj[n]){ if(v == p) continue; for(k=T;k>=3;k--) for(j=1;j+2<=k;j++) en[n][k]=max(en[n][k],en[n][k-j-2]+dp[v][j]); for(k=T;k>=2;k--) for(j=1;j+1<=k;j++) en[n][k]=max(en[n][k],dp[n][k-j-1]+en[v][j]); for(k=T;k>=3;k--) for(j=1;j+2<=k;j++) dp[n][k]=max(dp[n][k],dp[n][k-j-2]+dp[v][j]); } for(j=T;j>=1;j--){ en[n][j]=max(en[n][j],en[n][j-1]+arr[n]); dp[n][j]=max(dp[n][j],dp[n][j-1]+arr[n]); } } int main(){ for(scanf("%lld%lld",&N,&T),i=1;i<=N;i++) scanf("%lld",&arr[i]); for(i=1;i<N;i++){ scanf("%lld%lld",&x,&y); adj[x].push_back(y); adj[y].push_back(x); } solve(1, 0); printf("%lld\n",en[1][T]); return 0; }

Compilation message (stderr)

dostavljac.cpp: In function 'int main()':
dostavljac.cpp:29:29: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for(scanf("%lld%lld",&N,&T),i=1;i<=N;i++)
      ~~~~~~~~~~~~~~~~~~~~~~~^~~~
dostavljac.cpp:30:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld",&arr[i]);
   ~~~~~^~~~~~~~~~~~~~~~
dostavljac.cpp:32:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld%lld",&x,&y);
   ~~~~~^~~~~~~~~~~~~~~~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...