# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
299368 | 2020-09-14T19:47:17 Z | oscarsierra12 | Detecting Molecules (IOI16_molecules) | C++14 | 1 ms | 384 KB |
#include "molecules.h" #include <bits/stdc++.h> using namespace std ; vector <pair<int,int>> wr ; std::vector<int> find_subset(int l, int u, std::vector<int> w) { vector <int> ans, ot ; if ( *min_element (w.begin(), w.end()) > u ) return std::vector<int>(0) ; for ( int i = 0 ; i < w.size() ; ++i ) { wr.push_back ( {w[i], i} ) ; if ( w[i] >= l && w[i] <= u ) { ans.push_back ( i ) ; return ans ; } } long long s = 0 ; int sz = w.size() ; sort ( wr.begin(), wr.end() ) ; for ( int i = 0 ; i < sz ; ++i ) { s += wr[i].first ; if ( s >= l ) { if ( s <= u ) { sort ( ans.begin(), ans.end() ) ; return ans ; } s -= wr[i].first ; long long s2 = 0 ; for ( int j = sz - 1 ; j >= sz - i ; --j ) s2 += wr[i].first ; if ( s2 < l ) return std::vector <int> (0) ; for ( int j = sz - 1 ; j >= sz - i ; --j ) { s -= wr[ans.back()].first ; s += wr[j].first ; ans.pop_back() ; ot.push_back (wr[j].second) ; if ( s >= l && s <= u ) { for ( auto i:ot ) ans.push_back ( i ) ; sort ( ans.begin(), ans.end() ) ; return ans ; } } break ; } ans.push_back ( wr[i].second ) ; } return std::vector <int>(0) ; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 256 KB | OK (n = 1, answer = NO) |
2 | Correct | 1 ms | 384 KB | OK (n = 1, answer = NO) |
3 | Correct | 1 ms | 256 KB | OK (n = 1, answer = YES) |
4 | Incorrect | 1 ms | 256 KB | sum of weights should be in [100..100] but it is 50 |
5 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 256 KB | OK (n = 12, answer = YES) |
2 | Correct | 1 ms | 384 KB | OK (n = 12, answer = YES) |
3 | Correct | 1 ms | 256 KB | OK (n = 12, answer = NO) |
4 | Correct | 1 ms | 256 KB | OK (n = 12, answer = NO) |
5 | Incorrect | 1 ms | 256 KB | sum of weights should be in [290..300] but it is 250 |
6 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 256 KB | OK (n = 1, answer = NO) |
2 | Correct | 1 ms | 384 KB | OK (n = 1, answer = NO) |
3 | Correct | 1 ms | 256 KB | OK (n = 1, answer = YES) |
4 | Incorrect | 1 ms | 256 KB | sum of weights should be in [100..100] but it is 50 |
5 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 256 KB | OK (n = 1, answer = NO) |
2 | Correct | 1 ms | 384 KB | OK (n = 1, answer = NO) |
3 | Correct | 1 ms | 256 KB | OK (n = 1, answer = YES) |
4 | Incorrect | 1 ms | 256 KB | sum of weights should be in [100..100] but it is 50 |
5 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 256 KB | OK (n = 1, answer = NO) |
2 | Correct | 1 ms | 384 KB | OK (n = 1, answer = NO) |
3 | Correct | 1 ms | 256 KB | OK (n = 1, answer = YES) |
4 | Incorrect | 1 ms | 256 KB | sum of weights should be in [100..100] but it is 50 |
5 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 256 KB | OK (n = 1, answer = NO) |
2 | Correct | 1 ms | 384 KB | OK (n = 1, answer = NO) |
3 | Correct | 1 ms | 256 KB | OK (n = 1, answer = YES) |
4 | Incorrect | 1 ms | 256 KB | sum of weights should be in [100..100] but it is 50 |
5 | Halted | 0 ms | 0 KB | - |