Submission #122806

#TimeUsernameProblemLanguageResultExecution timeMemory
122806sealnot123Two Dishes (JOI19_dishes)C++14
10 / 100
1802 ms78088 KiB
#include<bits/stdc++.h>
#define x first
#define y second
#define pb push_back
#define eb emplace_back
#define all(a) (a).begin(),(a).end()
#define SZ(a) (int)(a).size()
using namespace std;
typedef long long LL;
typedef pair<LL,LL> PLL;
typedef pair<int,int> PII;
typedef double D;
typedef long double LD;
const int N = 2020;
LL dp[N][N];
LL A[N], B[N], S[N], T[N], P[N], Q[N];
int main(){
    int n, m;
    int i,j,k,l;
    int a,b,c,d;
    scanf("%d%d",&n,&m);
    for(i=1;i<=n;i++){
        scanf("%lld%lld%lld",&A[i],&S[i],&P[i]);
        A[i] += A[i-1];
    }
    for(i=1;i<=m;i++){
        scanf("%lld%lld%lld",&B[i],&T[i],&Q[i]);
        B[i] += B[i-1];
    }
    for(i=0;i<=n;i++){
        for(j=0;j<=m;j++){
            if(i+j==0) continue;
            if(i>0) dp[i][j] = max(dp[i-1][j] + P[i]*(A[i]+B[j]<=S[i]), dp[i][j]);
            if(j>0) dp[i][j] = max(dp[i][j], dp[i][j-1] + Q[j]*(A[i]+B[j]<=T[j]));
            // printf("%d %d : %lld\n",i ,j, dp[i][j]);
        }
    }
    printf("%lld",dp[n][m]);
    return 0;
}
/*
4 3
2 1 1
3 8 1
2 13 1
1 13 1
3 6 1
2 11 1
2 15 1

4 3
2 1 1
3 8 1
2 13 1
1 13 1
3 6 1
2 11 1
2 13 1
*/

Compilation message (stderr)

dishes.cpp: In function 'int main()':
dishes.cpp:19:13: warning: unused variable 'k' [-Wunused-variable]
     int i,j,k,l;
             ^
dishes.cpp:19:15: warning: unused variable 'l' [-Wunused-variable]
     int i,j,k,l;
               ^
dishes.cpp:20:9: warning: unused variable 'a' [-Wunused-variable]
     int a,b,c,d;
         ^
dishes.cpp:20:11: warning: unused variable 'b' [-Wunused-variable]
     int a,b,c,d;
           ^
dishes.cpp:20:13: warning: unused variable 'c' [-Wunused-variable]
     int a,b,c,d;
             ^
dishes.cpp:20:15: warning: unused variable 'd' [-Wunused-variable]
     int a,b,c,d;
               ^
dishes.cpp:21:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d",&n,&m);
     ~~~~~^~~~~~~~~~~~~~
dishes.cpp:23:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%lld%lld%lld",&A[i],&S[i],&P[i]);
         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dishes.cpp:27:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%lld%lld%lld",&B[i],&T[i],&Q[i]);
         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...