Submission #131100

# Submission time Handle Problem Language Result Execution time Memory
131100 2019-07-16T12:59:54 Z IOrtroiii Kitchen (BOI19_kitchen) C++14
21 / 100
28 ms 760 KB
#include <bits/stdc++.h>

using namespace std;

const int N = 305;
const int M = N * N;

int a[N];
int b[N];
int f[M];

int main() {
   ios_base::sync_with_stdio(false);
   int n, m, k;
   cin >> n >> m >> k;
   for (int i = 1; i <= n; ++i) {
      cin >> a[i];
   }
   for (int i = 1; i <= m; ++i) {
      cin >> b[i];
   }
   if (*min_element(a + 1, a + n + 1) < k) {
      cout << "Impossible\n";
      return 0;
   }
   memset(f, -69, sizeof f);
   f[0] = 0;
   for (int i = 1; i <= m; ++i) {
      for (int j = M - 1; j >= b[i]; --j) {
         f[j] = max(f[j], f[j - b[i]]  + min(b[i], n));
      }
   }
   int sum = accumulate(a + 1, a + m + 1, 0);
   for (int i = sum; i < M; ++i) {
      if (f[i] >= n * k) {
         cout << i - sum << "\n";
         return 0;
      }
   }
   cout << "Impossible\n";
   return 0;
}
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 760 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 760 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 28 ms 760 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 7 ms 760 KB Output is correct
2 Correct 6 ms 632 KB Output is correct
3 Correct 6 ms 632 KB Output is correct
4 Correct 6 ms 632 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 760 KB Output isn't correct
2 Halted 0 ms 0 KB -