Submission #563804

#TimeUsernameProblemLanguageResultExecution timeMemory
563804tqbfjotldTwo Dishes (JOI19_dishes)C++14
10 / 100
218 ms103204 KiB
#include <bits/stdc++.h> using namespace std; #define int long long int n,m; int A[1000005]; int S[1000005]; int P[1000005]; int B[1000005]; int T[1000005]; int Q[1000005]; int prefA[1000005]; int prefB[1000005]; int mem[2005][2005]; int dp(int a, int b){ if (mem[a][b]!=-1) return mem[a][b]; int ans = -999999999999999999LL; if (a==0&&b==0) ans = 0; if (a!=0){ int t = dp(a-1,b); if (prefA[a]+prefB[b]<=S[a-1]){ t += P[a-1]; } ans = max(ans,t); } if (b!=0){ int t = dp(a,b-1); if (prefA[a]+prefB[b]<=T[b-1]){ t += Q[b-1]; } ans = max(ans,t); } return mem[a][b] = ans; } main(){ scanf("%lld%lld",&n,&m); for (int x = 0; x<n; x++){ scanf("%lld%lld%lld",&A[x],&S[x],&P[x]); } for (int x = 0; x<m; x++){ scanf("%lld%lld%lld",&B[x],&T[x],&Q[x]); } memset(mem,-1,sizeof(mem)); for (int x = 1; x<=n; x++){ prefA[x] = prefA[x-1]+A[x-1]; } for (int x = 1; x<=m; x++){ prefB[x] = prefB[x-1]+B[x-1]; } printf("%lld",dp(n,m)); }

Compilation message (stderr)

dishes.cpp:39:2: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   39 |  main(){
      |  ^~~~
dishes.cpp: In function 'int main()':
dishes.cpp:40:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   40 |     scanf("%lld%lld",&n,&m);
      |     ~~~~~^~~~~~~~~~~~~~~~~~
dishes.cpp:42:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   42 |         scanf("%lld%lld%lld",&A[x],&S[x],&P[x]);
      |         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dishes.cpp:45:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   45 |         scanf("%lld%lld%lld",&B[x],&T[x],&Q[x]);
      |         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...