# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
261614 | 2020-08-11T22:34:39 Z | themax23 | Detecting Molecules (IOI16_molecules) | C++17 | 1 ms | 768 KB |
#include "molecules.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; const int INF = 1e9; ll L, R, N; vector<int> W; int memo[10003][10003]; bool cache[10003][10003]; bool P[10003][10003]; int DP(ll sum,int idx){ if(idx == N) return 0; if(sum >=L && sum <= R) return sum; if(cache[sum][idx]) return memo[sum][idx]; cache[sum][idx] = true; ll ans1 = DP(sum + W[idx], idx+1); ll ans2 = DP(sum,idx+1); ll ans = 0; if(ans1 >= L && ans1 <= R){P[sum][idx] = true; ans = ans1;} else if(ans2 >= L && ans2 <= R) {ans = ans2;} memo[sum][idx] = ans; return ans; } std::vector<int> find_subset(int l, int u, std::vector<int> w) { L = l, R = u, N = (int) w.size(); W = w; vector<int> sub; ll ans = DP(0,0); for(int i = 0, s = 0; i < N; i++){ if(P[s][i]) {sub.push_back(i); s += w[i];} //deb(P[s][i]); } return sub; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 384 KB | OK (n = 1, answer = NO) |
2 | Correct | 1 ms | 384 KB | OK (n = 1, answer = NO) |
3 | Incorrect | 1 ms | 384 KB | Contestant can not find answer, jury can |
4 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 640 KB | OK (n = 12, answer = YES) |
2 | Correct | 1 ms | 640 KB | OK (n = 12, answer = YES) |
3 | Correct | 1 ms | 768 KB | OK (n = 12, answer = NO) |
4 | Correct | 1 ms | 768 KB | OK (n = 12, answer = NO) |
5 | Correct | 1 ms | 640 KB | OK (n = 12, answer = YES) |
6 | Incorrect | 1 ms | 768 KB | Contestant can not find answer, jury can |
7 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 384 KB | OK (n = 1, answer = NO) |
2 | Correct | 1 ms | 384 KB | OK (n = 1, answer = NO) |
3 | Incorrect | 1 ms | 384 KB | Contestant can not find answer, jury can |
4 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 384 KB | OK (n = 1, answer = NO) |
2 | Correct | 1 ms | 384 KB | OK (n = 1, answer = NO) |
3 | Incorrect | 1 ms | 384 KB | Contestant can not find answer, jury can |
4 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 384 KB | OK (n = 1, answer = NO) |
2 | Correct | 1 ms | 384 KB | OK (n = 1, answer = NO) |
3 | Incorrect | 1 ms | 384 KB | Contestant can not find answer, jury can |
4 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 384 KB | OK (n = 1, answer = NO) |
2 | Correct | 1 ms | 384 KB | OK (n = 1, answer = NO) |
3 | Incorrect | 1 ms | 384 KB | Contestant can not find answer, jury can |
4 | Halted | 0 ms | 0 KB | - |