Submission #745907

#TimeUsernameProblemLanguageResultExecution timeMemory
745907vjudge1Kitchen (BOI19_kitchen)C++17
0 / 100
3 ms340 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long int; const ll mod = 1e9 + 7; bool lehet[10000][400] = {false}; int main(){ int n, m, k; cin >> n >> m >> k; vector<ll> v(n), t(m); ll sumv = 0; for(auto& i : v){ cin >> i; sumv += i; } for(auto& i : t){ cin >> i; } lehet[0][0] = lehet[0][t[0]] = true; for(int i = 1; i < m; ++i){ for(int j = 0; j < 10000; ++j){ lehet[i][j] |= lehet[i - 1][j]; if(j >= t[i]){ lehet[i][j] |= lehet[i - 1][j - t[i]]; } } } ll sol = sumv; while(!lehet[m -1][sol] && sol < 10000) ++sol; if(sol == 10000){ cout << "impossible" << endl; } else{ cout << sol - sumv << endl; } return 0; }

Compilation message (stderr)

kitchen.cpp: In function 'int main()':
kitchen.cpp:25:25: warning: iteration 400 invokes undefined behavior [-Waggressive-loop-optimizations]
   25 |             lehet[i][j] |= lehet[i - 1][j];
      |             ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
kitchen.cpp:24:26: note: within this loop
   24 |         for(int j = 0; j < 10000; ++j){
      |                        ~~^~~~~~~
#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...