# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
982425 | 2024-05-14T08:40:30 Z | MarwenElarbi | Detecting Molecules (IOI16_molecules) | C++17 | 40 ms | 65536 KB |
#include<bits/stdc++.h> //#include "molecules.h" using namespace std; //#pragma GCC optimize("O3") //#pragma GCC optimize("unroll-loops") #define fi first #define se second #define ll long long #define pb push_back mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); std::vector<int> find_subset(int l, int u, std::vector<int> w){ pair<int,int> par[u+1]; int n=w.size(); bool dp[n+1][u+1]; memset(dp,0,sizeof dp); for (int i = 0; i <= u; ++i) { par[i]={n,i}; } dp[0][0]=1; for (int i = 1; i <= n; ++i) { int cur=w[i-1]; for (int j = 0; j <= u; ++j) { dp[i][j]=dp[i-1][j]; if(j>=cur){ if(dp[i][j]==0&&dp[i-1][j-cur]==1){ par[j]={i-1,j-cur}; dp[i][j]|=dp[i-1][j-cur]; } } } } vector<int> ans; /*for (int i = 0; i <= u; ++i) { cout <<par[i].se<<" "; }cout <<endl;*/ for (int i = l; i <= u; ++i) { if(dp[n][i]){ while(i>0){ //cout <<i<<endl; ans.pb(par[i].fi); i=par[i].se; //break; } break; } } sort(ans.begin(),ans.end()); return ans; } /*int main() { #ifndef ONLINE_JUDGE freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #endif int n, l, u; assert(3 == scanf("%d %d %d", &n, &l, &u)); std::vector<int> w(n); for (int i = 0; i < n; i++) assert(1 == scanf("%d", &w[i])); std::vector<int> result = find_subset(l, u, w); printf("%d\n", (int)result.size()); for (int i = 0; i < (int)result.size(); i++) printf("%d%c", result[i], " \n"[i == (int)result.size() - 1]); }*/
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 600 KB | OK (n = 1, answer = NO) |
2 | Correct | 0 ms | 344 KB | OK (n = 1, answer = NO) |
3 | Correct | 0 ms | 444 KB | OK (n = 1, answer = YES) |
4 | Correct | 0 ms | 348 KB | OK (n = 2, answer = YES) |
5 | Correct | 0 ms | 348 KB | OK (n = 2, answer = YES) |
6 | Correct | 0 ms | 344 KB | OK (n = 3, answer = YES) |
7 | Correct | 0 ms | 344 KB | OK (n = 3, answer = YES) |
8 | Correct | 0 ms | 348 KB | OK (n = 3, answer = YES) |
9 | Correct | 0 ms | 348 KB | OK (n = 3, answer = YES) |
10 | Correct | 1 ms | 348 KB | OK (n = 3, answer = YES) |
11 | Correct | 0 ms | 436 KB | OK (n = 3, answer = YES) |
12 | Correct | 0 ms | 348 KB | OK (n = 3, answer = YES) |
13 | Correct | 0 ms | 348 KB | OK (n = 3, answer = NO) |
14 | Correct | 0 ms | 348 KB | OK (n = 3, answer = YES) |
15 | Correct | 0 ms | 348 KB | OK (n = 3, answer = YES) |
16 | Correct | 0 ms | 348 KB | OK (n = 3, answer = NO) |
17 | Correct | 0 ms | 348 KB | OK (n = 3, answer = NO) |
18 | Correct | 1 ms | 348 KB | OK (n = 100, answer = NO) |
19 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | OK (n = 12, answer = YES) |
2 | Correct | 0 ms | 348 KB | OK (n = 12, answer = YES) |
3 | Correct | 0 ms | 348 KB | OK (n = 12, answer = NO) |
4 | Correct | 0 ms | 348 KB | OK (n = 12, answer = NO) |
5 | Correct | 0 ms | 348 KB | OK (n = 12, answer = YES) |
6 | Correct | 0 ms | 348 KB | OK (n = 12, answer = YES) |
7 | Correct | 0 ms | 348 KB | OK (n = 12, answer = YES) |
8 | Correct | 0 ms | 344 KB | OK (n = 12, answer = YES) |
9 | Correct | 0 ms | 348 KB | OK (n = 6, answer = YES) |
10 | Correct | 1 ms | 348 KB | OK (n = 12, answer = YES) |
11 | Correct | 0 ms | 348 KB | OK (n = 100, answer = NO) |
12 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
13 | Correct | 0 ms | 348 KB | OK (n = 100, answer = NO) |
14 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
15 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
16 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
17 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 600 KB | OK (n = 1, answer = NO) |
2 | Correct | 0 ms | 344 KB | OK (n = 1, answer = NO) |
3 | Correct | 0 ms | 444 KB | OK (n = 1, answer = YES) |
4 | Correct | 0 ms | 348 KB | OK (n = 2, answer = YES) |
5 | Correct | 0 ms | 348 KB | OK (n = 2, answer = YES) |
6 | Correct | 0 ms | 344 KB | OK (n = 3, answer = YES) |
7 | Correct | 0 ms | 344 KB | OK (n = 3, answer = YES) |
8 | Correct | 0 ms | 348 KB | OK (n = 3, answer = YES) |
9 | Correct | 0 ms | 348 KB | OK (n = 3, answer = YES) |
10 | Correct | 1 ms | 348 KB | OK (n = 3, answer = YES) |
11 | Correct | 0 ms | 436 KB | OK (n = 3, answer = YES) |
12 | Correct | 0 ms | 348 KB | OK (n = 3, answer = YES) |
13 | Correct | 0 ms | 348 KB | OK (n = 3, answer = NO) |
14 | Correct | 0 ms | 348 KB | OK (n = 3, answer = YES) |
15 | Correct | 0 ms | 348 KB | OK (n = 3, answer = YES) |
16 | Correct | 0 ms | 348 KB | OK (n = 3, answer = NO) |
17 | Correct | 0 ms | 348 KB | OK (n = 3, answer = NO) |
18 | Correct | 1 ms | 348 KB | OK (n = 100, answer = NO) |
19 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
20 | Correct | 0 ms | 348 KB | OK (n = 12, answer = YES) |
21 | Correct | 0 ms | 348 KB | OK (n = 12, answer = YES) |
22 | Correct | 0 ms | 348 KB | OK (n = 12, answer = NO) |
23 | Correct | 0 ms | 348 KB | OK (n = 12, answer = NO) |
24 | Correct | 0 ms | 348 KB | OK (n = 12, answer = YES) |
25 | Correct | 0 ms | 348 KB | OK (n = 12, answer = YES) |
26 | Correct | 0 ms | 348 KB | OK (n = 12, answer = YES) |
27 | Correct | 0 ms | 344 KB | OK (n = 12, answer = YES) |
28 | Correct | 0 ms | 348 KB | OK (n = 6, answer = YES) |
29 | Correct | 1 ms | 348 KB | OK (n = 12, answer = YES) |
30 | Correct | 0 ms | 348 KB | OK (n = 100, answer = NO) |
31 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
32 | Correct | 0 ms | 348 KB | OK (n = 100, answer = NO) |
33 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
34 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
35 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
36 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
37 | Correct | 0 ms | 348 KB | OK (n = 28, answer = YES) |
38 | Correct | 0 ms | 348 KB | OK (n = 27, answer = YES) |
39 | Correct | 0 ms | 348 KB | OK (n = 90, answer = YES) |
40 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
41 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
42 | Correct | 0 ms | 348 KB | OK (n = 10, answer = YES) |
43 | Correct | 1 ms | 440 KB | OK (n = 100, answer = YES) |
44 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
45 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
46 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
47 | Correct | 0 ms | 348 KB | OK (n = 100, answer = NO) |
48 | Correct | 0 ms | 348 KB | OK (n = 100, answer = NO) |
49 | Correct | 1 ms | 436 KB | OK (n = 100, answer = NO) |
50 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
51 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
52 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
53 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
54 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 600 KB | OK (n = 1, answer = NO) |
2 | Correct | 0 ms | 344 KB | OK (n = 1, answer = NO) |
3 | Correct | 0 ms | 444 KB | OK (n = 1, answer = YES) |
4 | Correct | 0 ms | 348 KB | OK (n = 2, answer = YES) |
5 | Correct | 0 ms | 348 KB | OK (n = 2, answer = YES) |
6 | Correct | 0 ms | 344 KB | OK (n = 3, answer = YES) |
7 | Correct | 0 ms | 344 KB | OK (n = 3, answer = YES) |
8 | Correct | 0 ms | 348 KB | OK (n = 3, answer = YES) |
9 | Correct | 0 ms | 348 KB | OK (n = 3, answer = YES) |
10 | Correct | 1 ms | 348 KB | OK (n = 3, answer = YES) |
11 | Correct | 0 ms | 436 KB | OK (n = 3, answer = YES) |
12 | Correct | 0 ms | 348 KB | OK (n = 3, answer = YES) |
13 | Correct | 0 ms | 348 KB | OK (n = 3, answer = NO) |
14 | Correct | 0 ms | 348 KB | OK (n = 3, answer = YES) |
15 | Correct | 0 ms | 348 KB | OK (n = 3, answer = YES) |
16 | Correct | 0 ms | 348 KB | OK (n = 3, answer = NO) |
17 | Correct | 0 ms | 348 KB | OK (n = 3, answer = NO) |
18 | Correct | 1 ms | 348 KB | OK (n = 100, answer = NO) |
19 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
20 | Correct | 0 ms | 348 KB | OK (n = 12, answer = YES) |
21 | Correct | 0 ms | 348 KB | OK (n = 12, answer = YES) |
22 | Correct | 0 ms | 348 KB | OK (n = 12, answer = NO) |
23 | Correct | 0 ms | 348 KB | OK (n = 12, answer = NO) |
24 | Correct | 0 ms | 348 KB | OK (n = 12, answer = YES) |
25 | Correct | 0 ms | 348 KB | OK (n = 12, answer = YES) |
26 | Correct | 0 ms | 348 KB | OK (n = 12, answer = YES) |
27 | Correct | 0 ms | 344 KB | OK (n = 12, answer = YES) |
28 | Correct | 0 ms | 348 KB | OK (n = 6, answer = YES) |
29 | Correct | 1 ms | 348 KB | OK (n = 12, answer = YES) |
30 | Correct | 0 ms | 348 KB | OK (n = 100, answer = NO) |
31 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
32 | Correct | 0 ms | 348 KB | OK (n = 100, answer = NO) |
33 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
34 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
35 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
36 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
37 | Correct | 0 ms | 348 KB | OK (n = 28, answer = YES) |
38 | Correct | 0 ms | 348 KB | OK (n = 27, answer = YES) |
39 | Correct | 0 ms | 348 KB | OK (n = 90, answer = YES) |
40 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
41 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
42 | Correct | 0 ms | 348 KB | OK (n = 10, answer = YES) |
43 | Correct | 1 ms | 440 KB | OK (n = 100, answer = YES) |
44 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
45 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
46 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
47 | Correct | 0 ms | 348 KB | OK (n = 100, answer = NO) |
48 | Correct | 0 ms | 348 KB | OK (n = 100, answer = NO) |
49 | Correct | 1 ms | 436 KB | OK (n = 100, answer = NO) |
50 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
51 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
52 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
53 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
54 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
55 | Runtime error | 40 ms | 65536 KB | Execution killed with signal 9 |
56 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 600 KB | OK (n = 1, answer = NO) |
2 | Correct | 0 ms | 344 KB | OK (n = 1, answer = NO) |
3 | Correct | 0 ms | 444 KB | OK (n = 1, answer = YES) |
4 | Correct | 0 ms | 348 KB | OK (n = 2, answer = YES) |
5 | Correct | 0 ms | 348 KB | OK (n = 2, answer = YES) |
6 | Correct | 0 ms | 344 KB | OK (n = 3, answer = YES) |
7 | Correct | 0 ms | 344 KB | OK (n = 3, answer = YES) |
8 | Correct | 0 ms | 348 KB | OK (n = 3, answer = YES) |
9 | Correct | 0 ms | 348 KB | OK (n = 3, answer = YES) |
10 | Correct | 1 ms | 348 KB | OK (n = 3, answer = YES) |
11 | Correct | 0 ms | 436 KB | OK (n = 3, answer = YES) |
12 | Correct | 0 ms | 348 KB | OK (n = 3, answer = YES) |
13 | Correct | 0 ms | 348 KB | OK (n = 3, answer = NO) |
14 | Correct | 0 ms | 348 KB | OK (n = 3, answer = YES) |
15 | Correct | 0 ms | 348 KB | OK (n = 3, answer = YES) |
16 | Correct | 0 ms | 348 KB | OK (n = 3, answer = NO) |
17 | Correct | 0 ms | 348 KB | OK (n = 3, answer = NO) |
18 | Correct | 1 ms | 348 KB | OK (n = 100, answer = NO) |
19 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
20 | Correct | 0 ms | 348 KB | OK (n = 12, answer = YES) |
21 | Correct | 0 ms | 348 KB | OK (n = 12, answer = YES) |
22 | Correct | 0 ms | 348 KB | OK (n = 12, answer = NO) |
23 | Correct | 0 ms | 348 KB | OK (n = 12, answer = NO) |
24 | Correct | 0 ms | 348 KB | OK (n = 12, answer = YES) |
25 | Correct | 0 ms | 348 KB | OK (n = 12, answer = YES) |
26 | Correct | 0 ms | 348 KB | OK (n = 12, answer = YES) |
27 | Correct | 0 ms | 344 KB | OK (n = 12, answer = YES) |
28 | Correct | 0 ms | 348 KB | OK (n = 6, answer = YES) |
29 | Correct | 1 ms | 348 KB | OK (n = 12, answer = YES) |
30 | Correct | 0 ms | 348 KB | OK (n = 100, answer = NO) |
31 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
32 | Correct | 0 ms | 348 KB | OK (n = 100, answer = NO) |
33 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
34 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
35 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
36 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
37 | Correct | 0 ms | 348 KB | OK (n = 28, answer = YES) |
38 | Correct | 0 ms | 348 KB | OK (n = 27, answer = YES) |
39 | Correct | 0 ms | 348 KB | OK (n = 90, answer = YES) |
40 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
41 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
42 | Correct | 0 ms | 348 KB | OK (n = 10, answer = YES) |
43 | Correct | 1 ms | 440 KB | OK (n = 100, answer = YES) |
44 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
45 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
46 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
47 | Correct | 0 ms | 348 KB | OK (n = 100, answer = NO) |
48 | Correct | 0 ms | 348 KB | OK (n = 100, answer = NO) |
49 | Correct | 1 ms | 436 KB | OK (n = 100, answer = NO) |
50 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
51 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
52 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
53 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
54 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
55 | Runtime error | 40 ms | 65536 KB | Execution killed with signal 9 |
56 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 600 KB | OK (n = 1, answer = NO) |
2 | Correct | 0 ms | 344 KB | OK (n = 1, answer = NO) |
3 | Correct | 0 ms | 444 KB | OK (n = 1, answer = YES) |
4 | Correct | 0 ms | 348 KB | OK (n = 2, answer = YES) |
5 | Correct | 0 ms | 348 KB | OK (n = 2, answer = YES) |
6 | Correct | 0 ms | 344 KB | OK (n = 3, answer = YES) |
7 | Correct | 0 ms | 344 KB | OK (n = 3, answer = YES) |
8 | Correct | 0 ms | 348 KB | OK (n = 3, answer = YES) |
9 | Correct | 0 ms | 348 KB | OK (n = 3, answer = YES) |
10 | Correct | 1 ms | 348 KB | OK (n = 3, answer = YES) |
11 | Correct | 0 ms | 436 KB | OK (n = 3, answer = YES) |
12 | Correct | 0 ms | 348 KB | OK (n = 3, answer = YES) |
13 | Correct | 0 ms | 348 KB | OK (n = 3, answer = NO) |
14 | Correct | 0 ms | 348 KB | OK (n = 3, answer = YES) |
15 | Correct | 0 ms | 348 KB | OK (n = 3, answer = YES) |
16 | Correct | 0 ms | 348 KB | OK (n = 3, answer = NO) |
17 | Correct | 0 ms | 348 KB | OK (n = 3, answer = NO) |
18 | Correct | 1 ms | 348 KB | OK (n = 100, answer = NO) |
19 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
20 | Correct | 0 ms | 348 KB | OK (n = 12, answer = YES) |
21 | Correct | 0 ms | 348 KB | OK (n = 12, answer = YES) |
22 | Correct | 0 ms | 348 KB | OK (n = 12, answer = NO) |
23 | Correct | 0 ms | 348 KB | OK (n = 12, answer = NO) |
24 | Correct | 0 ms | 348 KB | OK (n = 12, answer = YES) |
25 | Correct | 0 ms | 348 KB | OK (n = 12, answer = YES) |
26 | Correct | 0 ms | 348 KB | OK (n = 12, answer = YES) |
27 | Correct | 0 ms | 344 KB | OK (n = 12, answer = YES) |
28 | Correct | 0 ms | 348 KB | OK (n = 6, answer = YES) |
29 | Correct | 1 ms | 348 KB | OK (n = 12, answer = YES) |
30 | Correct | 0 ms | 348 KB | OK (n = 100, answer = NO) |
31 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
32 | Correct | 0 ms | 348 KB | OK (n = 100, answer = NO) |
33 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
34 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
35 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
36 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
37 | Correct | 0 ms | 348 KB | OK (n = 28, answer = YES) |
38 | Correct | 0 ms | 348 KB | OK (n = 27, answer = YES) |
39 | Correct | 0 ms | 348 KB | OK (n = 90, answer = YES) |
40 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
41 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
42 | Correct | 0 ms | 348 KB | OK (n = 10, answer = YES) |
43 | Correct | 1 ms | 440 KB | OK (n = 100, answer = YES) |
44 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
45 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
46 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
47 | Correct | 0 ms | 348 KB | OK (n = 100, answer = NO) |
48 | Correct | 0 ms | 348 KB | OK (n = 100, answer = NO) |
49 | Correct | 1 ms | 436 KB | OK (n = 100, answer = NO) |
50 | Correct | 1 ms | 348 KB | OK (n = 100, answer = YES) |
51 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
52 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
53 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
54 | Correct | 0 ms | 348 KB | OK (n = 100, answer = YES) |
55 | Runtime error | 40 ms | 65536 KB | Execution killed with signal 9 |
56 | Halted | 0 ms | 0 KB | - |