# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
299065 | 2020-09-14T12:55:00 Z | azatega | Detecting Molecules (IOI16_molecules) | C++11 | 1 ms | 256 KB |
#include "molecules.h" #include <vector> #include <algorithm> using namespace std; #define ll long long vector<int> find_subset(int l, int u, vector<int> w) { vector<pair<ll, int>> new_w; for(int i = 0; i < w.size(); i++) new_w.push_back({w[i], i}); sort(new_w.begin(), new_w.end()); vector<ll> suff_sum; suff_sum.resize(new_w.size()); ll currsum = 0; for(int i = new_w.size()-1; i >= 0; i--){ currsum += new_w[i].first; if(currsum >= l && currsum <= u){ // found it! vector<int> res; for(int x = i; x < new_w.size(); x++) res.push_back(new_w[x].second); return res; } suff_sum[i] = currsum; } suff_sum.push_back(0); currsum = 0; for(int i = 0; i < new_w.size(); i++){ currsum += new_w[i].first; int l = i+1; int r = new_w.size(); while(l <= r){ int mid = (l+r)/2; int new_val = suff_sum[mid]; if(new_val+currsum >= l && new_val+currsum <= r){ // found it vector<int> res; for(int x = 0; x <= i; x++) res.push_back(new_w[x].second); for(int x = mid; x < new_w.size(); x++) res.push_back(new_w[x].second); return res; }else if(new_val + currsum < l){ r = mid - 1; }else if(new_val + currsum > r){ l = mid + 1; } } } vector<int> bl; return bl; } /*int main(){ int n, l, u; vector<int> niz; cin >> n >> l >> u; niz.resize(n); for(int i = 0; i < n; i++) cin >> niz[i]; vector<int> rs = find_subset(l, u, niz); for(int i = 0; i < rs.size(); i++) cout << rs[i] << endl; }*/
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 256 KB | OK (n = 1, answer = NO) |
2 | Correct | 0 ms | 256 KB | OK (n = 1, answer = NO) |
3 | Correct | 0 ms | 256 KB | OK (n = 1, answer = YES) |
4 | Correct | 0 ms | 256 KB | OK (n = 2, answer = YES) |
5 | Correct | 0 ms | 256 KB | OK (n = 2, answer = YES) |
6 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
7 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
8 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
9 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
10 | Correct | 1 ms | 256 KB | OK (n = 3, answer = YES) |
11 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
12 | Correct | 1 ms | 256 KB | OK (n = 3, answer = YES) |
13 | Correct | 0 ms | 256 KB | OK (n = 3, answer = NO) |
14 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
15 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
16 | Correct | 0 ms | 256 KB | OK (n = 3, answer = NO) |
17 | Correct | 0 ms | 256 KB | OK (n = 3, answer = NO) |
18 | Correct | 1 ms | 256 KB | OK (n = 100, answer = NO) |
19 | Correct | 0 ms | 256 KB | OK (n = 100, answer = YES) |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 256 KB | Contestant can not find answer, jury can |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 256 KB | OK (n = 1, answer = NO) |
2 | Correct | 0 ms | 256 KB | OK (n = 1, answer = NO) |
3 | Correct | 0 ms | 256 KB | OK (n = 1, answer = YES) |
4 | Correct | 0 ms | 256 KB | OK (n = 2, answer = YES) |
5 | Correct | 0 ms | 256 KB | OK (n = 2, answer = YES) |
6 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
7 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
8 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
9 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
10 | Correct | 1 ms | 256 KB | OK (n = 3, answer = YES) |
11 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
12 | Correct | 1 ms | 256 KB | OK (n = 3, answer = YES) |
13 | Correct | 0 ms | 256 KB | OK (n = 3, answer = NO) |
14 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
15 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
16 | Correct | 0 ms | 256 KB | OK (n = 3, answer = NO) |
17 | Correct | 0 ms | 256 KB | OK (n = 3, answer = NO) |
18 | Correct | 1 ms | 256 KB | OK (n = 100, answer = NO) |
19 | Correct | 0 ms | 256 KB | OK (n = 100, answer = YES) |
20 | Incorrect | 0 ms | 256 KB | Contestant can not find answer, jury can |
21 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 256 KB | OK (n = 1, answer = NO) |
2 | Correct | 0 ms | 256 KB | OK (n = 1, answer = NO) |
3 | Correct | 0 ms | 256 KB | OK (n = 1, answer = YES) |
4 | Correct | 0 ms | 256 KB | OK (n = 2, answer = YES) |
5 | Correct | 0 ms | 256 KB | OK (n = 2, answer = YES) |
6 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
7 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
8 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
9 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
10 | Correct | 1 ms | 256 KB | OK (n = 3, answer = YES) |
11 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
12 | Correct | 1 ms | 256 KB | OK (n = 3, answer = YES) |
13 | Correct | 0 ms | 256 KB | OK (n = 3, answer = NO) |
14 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
15 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
16 | Correct | 0 ms | 256 KB | OK (n = 3, answer = NO) |
17 | Correct | 0 ms | 256 KB | OK (n = 3, answer = NO) |
18 | Correct | 1 ms | 256 KB | OK (n = 100, answer = NO) |
19 | Correct | 0 ms | 256 KB | OK (n = 100, answer = YES) |
20 | Incorrect | 0 ms | 256 KB | Contestant can not find answer, jury can |
21 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 256 KB | OK (n = 1, answer = NO) |
2 | Correct | 0 ms | 256 KB | OK (n = 1, answer = NO) |
3 | Correct | 0 ms | 256 KB | OK (n = 1, answer = YES) |
4 | Correct | 0 ms | 256 KB | OK (n = 2, answer = YES) |
5 | Correct | 0 ms | 256 KB | OK (n = 2, answer = YES) |
6 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
7 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
8 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
9 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
10 | Correct | 1 ms | 256 KB | OK (n = 3, answer = YES) |
11 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
12 | Correct | 1 ms | 256 KB | OK (n = 3, answer = YES) |
13 | Correct | 0 ms | 256 KB | OK (n = 3, answer = NO) |
14 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
15 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
16 | Correct | 0 ms | 256 KB | OK (n = 3, answer = NO) |
17 | Correct | 0 ms | 256 KB | OK (n = 3, answer = NO) |
18 | Correct | 1 ms | 256 KB | OK (n = 100, answer = NO) |
19 | Correct | 0 ms | 256 KB | OK (n = 100, answer = YES) |
20 | Incorrect | 0 ms | 256 KB | Contestant can not find answer, jury can |
21 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 256 KB | OK (n = 1, answer = NO) |
2 | Correct | 0 ms | 256 KB | OK (n = 1, answer = NO) |
3 | Correct | 0 ms | 256 KB | OK (n = 1, answer = YES) |
4 | Correct | 0 ms | 256 KB | OK (n = 2, answer = YES) |
5 | Correct | 0 ms | 256 KB | OK (n = 2, answer = YES) |
6 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
7 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
8 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
9 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
10 | Correct | 1 ms | 256 KB | OK (n = 3, answer = YES) |
11 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
12 | Correct | 1 ms | 256 KB | OK (n = 3, answer = YES) |
13 | Correct | 0 ms | 256 KB | OK (n = 3, answer = NO) |
14 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
15 | Correct | 0 ms | 256 KB | OK (n = 3, answer = YES) |
16 | Correct | 0 ms | 256 KB | OK (n = 3, answer = NO) |
17 | Correct | 0 ms | 256 KB | OK (n = 3, answer = NO) |
18 | Correct | 1 ms | 256 KB | OK (n = 100, answer = NO) |
19 | Correct | 0 ms | 256 KB | OK (n = 100, answer = YES) |
20 | Incorrect | 0 ms | 256 KB | Contestant can not find answer, jury can |
21 | Halted | 0 ms | 0 KB | - |