Submission #202283

#TimeUsernameProblemLanguageResultExecution timeMemory
202283errorgornKitchen (BOI19_kitchen)C++14
100 / 100
47 ms764 KiB
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n,m,k;
int food[305];
int chef[305];
int memo[90005];
int main(){
    //freopen("input.txt","r",stdin);
    scanf("%d%d%d",&n,&m,&k);
    if (m<k){
        printf("Impossible\n");
        return 0;
    }
    for (int x=0;x<n;x++){
        scanf("%d",&food[x]);
        if (food[x]<k){
            printf("Impossible\n");
            return 0;
        }
    }
    for (int x=0;x<m;x++){
        scanf("%d",&chef[x]);
    }
    memset(memo,-1,sizeof(memo));
    int total=0; //total hours to cook
    for (int x=0;x<n;x++) total+=food[x];
    memo[0]=0;
    for (int x=0;x<m;x++){
        for (int y=90005-chef[x];y>=0;y--){
            if (memo[y]!=-1) memo[y+chef[x]]=max(memo[y+chef[x]],memo[y]+min(n,chef[x]));
        }
    }
    int req=n*k;
    for (int x=total;x<90005;x++){
        if (memo[x]>=req){
            printf("%d\n",x-total);
            return 0;
        }
    }
    printf("Impossible");
}

Compilation message (stderr)

kitchen.cpp: In function 'int main()':
kitchen.cpp:11:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d%d",&n,&m,&k);
     ~~~~~^~~~~~~~~~~~~~~~~~~
kitchen.cpp:17:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d",&food[x]);
         ~~~~~^~~~~~~~~~~~~~~
kitchen.cpp:24:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d",&chef[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...