# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
160105 | 2019-10-26T02:56:58 Z | Nordway | Detecting Molecules (IOI16_molecules) | C++14 | 68 ms | 65540 KB |
#include <bits/stdc++.h> #define x first #define y second #define pb push_back #define mp make_pair #define up_b upper_bound #define low_b lower_bound #define sz(x) (int)x.size() #define all(v) v.begin(),v.end() #define nl '\n' #define boost ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0) using namespace std; typedef long long ll; typedef long double ld; typedef pair<int,int> pii; typedef pair<int,ll> pil; typedef pair<ll,int> pli; typedef pair<ll,ll> pll; const ll INF=1e18; const int inf=1e9; const ld eps=1e-7; const ld pi=acos(-1); const int dx[8]={0,0 ,1,-1,1,1,-1,-1}; const int dy[8]={1,-1,0,0,1,-1,1,-1}; const int mod1=998244353; const int mod2=1e9+7; const int N=1e4+1; pii a[N]; vector<int> find_subset(int l,int u,vector<int>w){ int n=0; for(int i=0;i<sz(w);i++){ if(w[i]>u)continue; n++; a[n].x=w[i]; a[n].y=i; } vector<int>ans; if(u>1000){ bitset<500001>dp[n+1]; dp[0][0]=1; for(int i=1;i<=n;i++){ dp[i]=(dp[i-1]<<a[i].x); dp[i]|=(dp[i-1]); } int val=-1; for(int i=l;i<=u;i++){ if(dp[n][i]){ val=i; break; } } if(val>0){ while(val>0){ if(val>=a[n].x&&dp[n-1][val-a[n].x]){ ans.pb(a[n].y); val-=a[n].x; n--; } else if(dp[n-1][val]){ n--; } } } } else{ bitset<10001>dp[n+1]; dp[0][0]=1; for(int i=1;i<=n;i++){ dp[i]=(dp[i-1]<<a[i].x); dp[i]|=(dp[i-1]); } int val=-1; for(int i=l;i<=u;i++){ if(dp[n][i]){ val=i; break; } } if(val>0){ while(val>0){ if(val>=a[n].x&&dp[n-1][val-a[n].x]){ ans.pb(a[n].y); val-=a[n].x; n--; } else if(dp[n-1][val]){ n--; } } } } return ans; }
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | OK (n = 1, answer = NO) |
2 | Correct | 2 ms | 376 KB | OK (n = 1, answer = NO) |
3 | Correct | 2 ms | 376 KB | OK (n = 1, answer = YES) |
4 | Correct | 2 ms | 292 KB | OK (n = 2, answer = YES) |
5 | Correct | 2 ms | 376 KB | OK (n = 2, answer = YES) |
6 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
7 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
8 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
9 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
10 | Correct | 2 ms | 380 KB | OK (n = 3, answer = YES) |
11 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
12 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
13 | Correct | 2 ms | 376 KB | OK (n = 3, answer = NO) |
14 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
15 | Correct | 2 ms | 256 KB | OK (n = 3, answer = YES) |
16 | Correct | 2 ms | 256 KB | OK (n = 3, answer = NO) |
17 | Correct | 2 ms | 376 KB | OK (n = 3, answer = NO) |
18 | Correct | 2 ms | 376 KB | OK (n = 100, answer = NO) |
19 | Correct | 2 ms | 424 KB | OK (n = 100, answer = YES) |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
2 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
3 | Correct | 2 ms | 376 KB | OK (n = 12, answer = NO) |
4 | Correct | 2 ms | 376 KB | OK (n = 12, answer = NO) |
5 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
6 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
7 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
8 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
9 | Correct | 2 ms | 376 KB | OK (n = 6, answer = YES) |
10 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
11 | Correct | 2 ms | 504 KB | OK (n = 100, answer = NO) |
12 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
13 | Correct | 2 ms | 376 KB | OK (n = 100, answer = NO) |
14 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
15 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
16 | Correct | 2 ms | 376 KB | OK (n = 100, answer = YES) |
17 | Correct | 2 ms | 476 KB | OK (n = 100, answer = YES) |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | OK (n = 1, answer = NO) |
2 | Correct | 2 ms | 376 KB | OK (n = 1, answer = NO) |
3 | Correct | 2 ms | 376 KB | OK (n = 1, answer = YES) |
4 | Correct | 2 ms | 292 KB | OK (n = 2, answer = YES) |
5 | Correct | 2 ms | 376 KB | OK (n = 2, answer = YES) |
6 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
7 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
8 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
9 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
10 | Correct | 2 ms | 380 KB | OK (n = 3, answer = YES) |
11 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
12 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
13 | Correct | 2 ms | 376 KB | OK (n = 3, answer = NO) |
14 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
15 | Correct | 2 ms | 256 KB | OK (n = 3, answer = YES) |
16 | Correct | 2 ms | 256 KB | OK (n = 3, answer = NO) |
17 | Correct | 2 ms | 376 KB | OK (n = 3, answer = NO) |
18 | Correct | 2 ms | 376 KB | OK (n = 100, answer = NO) |
19 | Correct | 2 ms | 424 KB | OK (n = 100, answer = YES) |
20 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
21 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
22 | Correct | 2 ms | 376 KB | OK (n = 12, answer = NO) |
23 | Correct | 2 ms | 376 KB | OK (n = 12, answer = NO) |
24 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
25 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
26 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
27 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
28 | Correct | 2 ms | 376 KB | OK (n = 6, answer = YES) |
29 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
30 | Correct | 2 ms | 504 KB | OK (n = 100, answer = NO) |
31 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
32 | Correct | 2 ms | 376 KB | OK (n = 100, answer = NO) |
33 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
34 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
35 | Correct | 2 ms | 376 KB | OK (n = 100, answer = YES) |
36 | Correct | 2 ms | 476 KB | OK (n = 100, answer = YES) |
37 | Correct | 2 ms | 376 KB | OK (n = 28, answer = YES) |
38 | Correct | 2 ms | 376 KB | OK (n = 27, answer = YES) |
39 | Correct | 2 ms | 376 KB | OK (n = 90, answer = YES) |
40 | Correct | 2 ms | 376 KB | OK (n = 100, answer = YES) |
41 | Correct | 2 ms | 376 KB | OK (n = 100, answer = YES) |
42 | Correct | 2 ms | 376 KB | OK (n = 10, answer = YES) |
43 | Correct | 2 ms | 376 KB | OK (n = 100, answer = YES) |
44 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
45 | Correct | 2 ms | 380 KB | OK (n = 100, answer = YES) |
46 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
47 | Correct | 2 ms | 548 KB | OK (n = 100, answer = NO) |
48 | Correct | 2 ms | 376 KB | OK (n = 100, answer = NO) |
49 | Correct | 2 ms | 376 KB | OK (n = 100, answer = NO) |
50 | Correct | 2 ms | 476 KB | OK (n = 100, answer = YES) |
51 | Correct | 2 ms | 376 KB | OK (n = 100, answer = YES) |
52 | Correct | 2 ms | 376 KB | OK (n = 100, answer = YES) |
53 | Correct | 3 ms | 376 KB | OK (n = 100, answer = YES) |
54 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | OK (n = 1, answer = NO) |
2 | Correct | 2 ms | 376 KB | OK (n = 1, answer = NO) |
3 | Correct | 2 ms | 376 KB | OK (n = 1, answer = YES) |
4 | Correct | 2 ms | 292 KB | OK (n = 2, answer = YES) |
5 | Correct | 2 ms | 376 KB | OK (n = 2, answer = YES) |
6 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
7 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
8 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
9 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
10 | Correct | 2 ms | 380 KB | OK (n = 3, answer = YES) |
11 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
12 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
13 | Correct | 2 ms | 376 KB | OK (n = 3, answer = NO) |
14 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
15 | Correct | 2 ms | 256 KB | OK (n = 3, answer = YES) |
16 | Correct | 2 ms | 256 KB | OK (n = 3, answer = NO) |
17 | Correct | 2 ms | 376 KB | OK (n = 3, answer = NO) |
18 | Correct | 2 ms | 376 KB | OK (n = 100, answer = NO) |
19 | Correct | 2 ms | 424 KB | OK (n = 100, answer = YES) |
20 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
21 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
22 | Correct | 2 ms | 376 KB | OK (n = 12, answer = NO) |
23 | Correct | 2 ms | 376 KB | OK (n = 12, answer = NO) |
24 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
25 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
26 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
27 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
28 | Correct | 2 ms | 376 KB | OK (n = 6, answer = YES) |
29 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
30 | Correct | 2 ms | 504 KB | OK (n = 100, answer = NO) |
31 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
32 | Correct | 2 ms | 376 KB | OK (n = 100, answer = NO) |
33 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
34 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
35 | Correct | 2 ms | 376 KB | OK (n = 100, answer = YES) |
36 | Correct | 2 ms | 476 KB | OK (n = 100, answer = YES) |
37 | Correct | 2 ms | 376 KB | OK (n = 28, answer = YES) |
38 | Correct | 2 ms | 376 KB | OK (n = 27, answer = YES) |
39 | Correct | 2 ms | 376 KB | OK (n = 90, answer = YES) |
40 | Correct | 2 ms | 376 KB | OK (n = 100, answer = YES) |
41 | Correct | 2 ms | 376 KB | OK (n = 100, answer = YES) |
42 | Correct | 2 ms | 376 KB | OK (n = 10, answer = YES) |
43 | Correct | 2 ms | 376 KB | OK (n = 100, answer = YES) |
44 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
45 | Correct | 2 ms | 380 KB | OK (n = 100, answer = YES) |
46 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
47 | Correct | 2 ms | 548 KB | OK (n = 100, answer = NO) |
48 | Correct | 2 ms | 376 KB | OK (n = 100, answer = NO) |
49 | Correct | 2 ms | 376 KB | OK (n = 100, answer = NO) |
50 | Correct | 2 ms | 476 KB | OK (n = 100, answer = YES) |
51 | Correct | 2 ms | 376 KB | OK (n = 100, answer = YES) |
52 | Correct | 2 ms | 376 KB | OK (n = 100, answer = YES) |
53 | Correct | 3 ms | 376 KB | OK (n = 100, answer = YES) |
54 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
55 | Runtime error | 68 ms | 65540 KB | Execution killed with signal 9 (could be triggered by violating memory limits) |
56 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | OK (n = 1, answer = NO) |
2 | Correct | 2 ms | 376 KB | OK (n = 1, answer = NO) |
3 | Correct | 2 ms | 376 KB | OK (n = 1, answer = YES) |
4 | Correct | 2 ms | 292 KB | OK (n = 2, answer = YES) |
5 | Correct | 2 ms | 376 KB | OK (n = 2, answer = YES) |
6 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
7 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
8 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
9 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
10 | Correct | 2 ms | 380 KB | OK (n = 3, answer = YES) |
11 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
12 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
13 | Correct | 2 ms | 376 KB | OK (n = 3, answer = NO) |
14 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
15 | Correct | 2 ms | 256 KB | OK (n = 3, answer = YES) |
16 | Correct | 2 ms | 256 KB | OK (n = 3, answer = NO) |
17 | Correct | 2 ms | 376 KB | OK (n = 3, answer = NO) |
18 | Correct | 2 ms | 376 KB | OK (n = 100, answer = NO) |
19 | Correct | 2 ms | 424 KB | OK (n = 100, answer = YES) |
20 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
21 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
22 | Correct | 2 ms | 376 KB | OK (n = 12, answer = NO) |
23 | Correct | 2 ms | 376 KB | OK (n = 12, answer = NO) |
24 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
25 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
26 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
27 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
28 | Correct | 2 ms | 376 KB | OK (n = 6, answer = YES) |
29 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
30 | Correct | 2 ms | 504 KB | OK (n = 100, answer = NO) |
31 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
32 | Correct | 2 ms | 376 KB | OK (n = 100, answer = NO) |
33 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
34 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
35 | Correct | 2 ms | 376 KB | OK (n = 100, answer = YES) |
36 | Correct | 2 ms | 476 KB | OK (n = 100, answer = YES) |
37 | Correct | 2 ms | 376 KB | OK (n = 28, answer = YES) |
38 | Correct | 2 ms | 376 KB | OK (n = 27, answer = YES) |
39 | Correct | 2 ms | 376 KB | OK (n = 90, answer = YES) |
40 | Correct | 2 ms | 376 KB | OK (n = 100, answer = YES) |
41 | Correct | 2 ms | 376 KB | OK (n = 100, answer = YES) |
42 | Correct | 2 ms | 376 KB | OK (n = 10, answer = YES) |
43 | Correct | 2 ms | 376 KB | OK (n = 100, answer = YES) |
44 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
45 | Correct | 2 ms | 380 KB | OK (n = 100, answer = YES) |
46 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
47 | Correct | 2 ms | 548 KB | OK (n = 100, answer = NO) |
48 | Correct | 2 ms | 376 KB | OK (n = 100, answer = NO) |
49 | Correct | 2 ms | 376 KB | OK (n = 100, answer = NO) |
50 | Correct | 2 ms | 476 KB | OK (n = 100, answer = YES) |
51 | Correct | 2 ms | 376 KB | OK (n = 100, answer = YES) |
52 | Correct | 2 ms | 376 KB | OK (n = 100, answer = YES) |
53 | Correct | 3 ms | 376 KB | OK (n = 100, answer = YES) |
54 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
55 | Runtime error | 68 ms | 65540 KB | Execution killed with signal 9 (could be triggered by violating memory limits) |
56 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | OK (n = 1, answer = NO) |
2 | Correct | 2 ms | 376 KB | OK (n = 1, answer = NO) |
3 | Correct | 2 ms | 376 KB | OK (n = 1, answer = YES) |
4 | Correct | 2 ms | 292 KB | OK (n = 2, answer = YES) |
5 | Correct | 2 ms | 376 KB | OK (n = 2, answer = YES) |
6 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
7 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
8 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
9 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
10 | Correct | 2 ms | 380 KB | OK (n = 3, answer = YES) |
11 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
12 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
13 | Correct | 2 ms | 376 KB | OK (n = 3, answer = NO) |
14 | Correct | 2 ms | 376 KB | OK (n = 3, answer = YES) |
15 | Correct | 2 ms | 256 KB | OK (n = 3, answer = YES) |
16 | Correct | 2 ms | 256 KB | OK (n = 3, answer = NO) |
17 | Correct | 2 ms | 376 KB | OK (n = 3, answer = NO) |
18 | Correct | 2 ms | 376 KB | OK (n = 100, answer = NO) |
19 | Correct | 2 ms | 424 KB | OK (n = 100, answer = YES) |
20 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
21 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
22 | Correct | 2 ms | 376 KB | OK (n = 12, answer = NO) |
23 | Correct | 2 ms | 376 KB | OK (n = 12, answer = NO) |
24 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
25 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
26 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
27 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
28 | Correct | 2 ms | 376 KB | OK (n = 6, answer = YES) |
29 | Correct | 2 ms | 376 KB | OK (n = 12, answer = YES) |
30 | Correct | 2 ms | 504 KB | OK (n = 100, answer = NO) |
31 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
32 | Correct | 2 ms | 376 KB | OK (n = 100, answer = NO) |
33 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
34 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
35 | Correct | 2 ms | 376 KB | OK (n = 100, answer = YES) |
36 | Correct | 2 ms | 476 KB | OK (n = 100, answer = YES) |
37 | Correct | 2 ms | 376 KB | OK (n = 28, answer = YES) |
38 | Correct | 2 ms | 376 KB | OK (n = 27, answer = YES) |
39 | Correct | 2 ms | 376 KB | OK (n = 90, answer = YES) |
40 | Correct | 2 ms | 376 KB | OK (n = 100, answer = YES) |
41 | Correct | 2 ms | 376 KB | OK (n = 100, answer = YES) |
42 | Correct | 2 ms | 376 KB | OK (n = 10, answer = YES) |
43 | Correct | 2 ms | 376 KB | OK (n = 100, answer = YES) |
44 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
45 | Correct | 2 ms | 380 KB | OK (n = 100, answer = YES) |
46 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
47 | Correct | 2 ms | 548 KB | OK (n = 100, answer = NO) |
48 | Correct | 2 ms | 376 KB | OK (n = 100, answer = NO) |
49 | Correct | 2 ms | 376 KB | OK (n = 100, answer = NO) |
50 | Correct | 2 ms | 476 KB | OK (n = 100, answer = YES) |
51 | Correct | 2 ms | 376 KB | OK (n = 100, answer = YES) |
52 | Correct | 2 ms | 376 KB | OK (n = 100, answer = YES) |
53 | Correct | 3 ms | 376 KB | OK (n = 100, answer = YES) |
54 | Correct | 2 ms | 504 KB | OK (n = 100, answer = YES) |
55 | Runtime error | 68 ms | 65540 KB | Execution killed with signal 9 (could be triggered by violating memory limits) |
56 | Halted | 0 ms | 0 KB | - |