Submission #299380

# Submission time Handle Problem Language Result Execution time Memory
299380 2020-09-14T20:01:08 Z oscarsierra12 Detecting Molecules (IOI16_molecules) C++14
19 / 100
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 ) {
                ans.push_back ( wr[i].second ) ;
                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[j].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 k:ot ) ans.push_back ( k ) ;
                    sort ( ans.begin(), ans.end() ) ;
                    return ans ;
                }
            }
            break ;
        }
        ans.push_back ( wr[i].second ) ;
    }
    if ( s < l ) return std::vector<int>(0) ;
    return std::vector <int>(1) ;
}

Compilation message

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:10:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   10 |     for ( int i = 0 ; i < w.size() ; ++i ) {
      |                       ~~^~~~~~~~~~
# Verdict Execution time Memory 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 1 ms 256 KB OK (n = 3, answer = YES)
10 Correct 0 ms 256 KB OK (n = 3, answer = YES)
11 Correct 0 ms 256 KB OK (n = 3, answer = YES)
12 Correct 0 ms 256 KB OK (n = 3, answer = YES)
13 Correct 0 ms 256 KB OK (n = 3, answer = NO)
14 Correct 1 ms 256 KB OK (n = 3, answer = YES)
15 Correct 0 ms 256 KB OK (n = 3, answer = YES)
16 Correct 1 ms 384 KB OK (n = 3, answer = NO)
17 Correct 0 ms 256 KB OK (n = 3, answer = NO)
18 Correct 1 ms 384 KB OK (n = 100, answer = NO)
19 Correct 0 ms 256 KB OK (n = 100, answer = YES)
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB OK (n = 12, answer = YES)
2 Correct 0 ms 256 KB OK (n = 12, answer = YES)
3 Correct 0 ms 256 KB OK (n = 12, answer = NO)
4 Correct 1 ms 256 KB OK (n = 12, answer = NO)
5 Correct 0 ms 256 KB OK (n = 12, answer = YES)
6 Correct 1 ms 384 KB OK (n = 12, answer = YES)
7 Correct 0 ms 256 KB OK (n = 12, answer = YES)
8 Correct 1 ms 256 KB OK (n = 12, answer = YES)
9 Correct 1 ms 256 KB OK (n = 6, answer = YES)
10 Correct 1 ms 256 KB OK (n = 12, answer = YES)
11 Correct 1 ms 256 KB OK (n = 100, answer = NO)
12 Correct 1 ms 256 KB OK (n = 100, answer = YES)
13 Correct 0 ms 288 KB OK (n = 100, answer = NO)
14 Correct 1 ms 288 KB OK (n = 100, answer = YES)
15 Correct 0 ms 256 KB OK (n = 100, answer = YES)
16 Correct 0 ms 256 KB OK (n = 100, answer = YES)
17 Correct 0 ms 256 KB OK (n = 100, answer = YES)
# Verdict Execution time Memory 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 1 ms 256 KB OK (n = 3, answer = YES)
10 Correct 0 ms 256 KB OK (n = 3, answer = YES)
11 Correct 0 ms 256 KB OK (n = 3, answer = YES)
12 Correct 0 ms 256 KB OK (n = 3, answer = YES)
13 Correct 0 ms 256 KB OK (n = 3, answer = NO)
14 Correct 1 ms 256 KB OK (n = 3, answer = YES)
15 Correct 0 ms 256 KB OK (n = 3, answer = YES)
16 Correct 1 ms 384 KB OK (n = 3, answer = NO)
17 Correct 0 ms 256 KB OK (n = 3, answer = NO)
18 Correct 1 ms 384 KB OK (n = 100, answer = NO)
19 Correct 0 ms 256 KB OK (n = 100, answer = YES)
20 Correct 1 ms 256 KB OK (n = 12, answer = YES)
21 Correct 0 ms 256 KB OK (n = 12, answer = YES)
22 Correct 0 ms 256 KB OK (n = 12, answer = NO)
23 Correct 1 ms 256 KB OK (n = 12, answer = NO)
24 Correct 0 ms 256 KB OK (n = 12, answer = YES)
25 Correct 1 ms 384 KB OK (n = 12, answer = YES)
26 Correct 0 ms 256 KB OK (n = 12, answer = YES)
27 Correct 1 ms 256 KB OK (n = 12, answer = YES)
28 Correct 1 ms 256 KB OK (n = 6, answer = YES)
29 Correct 1 ms 256 KB OK (n = 12, answer = YES)
30 Correct 1 ms 256 KB OK (n = 100, answer = NO)
31 Correct 1 ms 256 KB OK (n = 100, answer = YES)
32 Correct 0 ms 288 KB OK (n = 100, answer = NO)
33 Correct 1 ms 288 KB OK (n = 100, answer = YES)
34 Correct 0 ms 256 KB OK (n = 100, answer = YES)
35 Correct 0 ms 256 KB OK (n = 100, answer = YES)
36 Correct 0 ms 256 KB OK (n = 100, answer = YES)
37 Correct 0 ms 256 KB OK (n = 28, answer = YES)
38 Incorrect 1 ms 256 KB Contestant can not find answer, jury can
39 Halted 0 ms 0 KB -
# Verdict Execution time Memory 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 1 ms 256 KB OK (n = 3, answer = YES)
10 Correct 0 ms 256 KB OK (n = 3, answer = YES)
11 Correct 0 ms 256 KB OK (n = 3, answer = YES)
12 Correct 0 ms 256 KB OK (n = 3, answer = YES)
13 Correct 0 ms 256 KB OK (n = 3, answer = NO)
14 Correct 1 ms 256 KB OK (n = 3, answer = YES)
15 Correct 0 ms 256 KB OK (n = 3, answer = YES)
16 Correct 1 ms 384 KB OK (n = 3, answer = NO)
17 Correct 0 ms 256 KB OK (n = 3, answer = NO)
18 Correct 1 ms 384 KB OK (n = 100, answer = NO)
19 Correct 0 ms 256 KB OK (n = 100, answer = YES)
20 Correct 1 ms 256 KB OK (n = 12, answer = YES)
21 Correct 0 ms 256 KB OK (n = 12, answer = YES)
22 Correct 0 ms 256 KB OK (n = 12, answer = NO)
23 Correct 1 ms 256 KB OK (n = 12, answer = NO)
24 Correct 0 ms 256 KB OK (n = 12, answer = YES)
25 Correct 1 ms 384 KB OK (n = 12, answer = YES)
26 Correct 0 ms 256 KB OK (n = 12, answer = YES)
27 Correct 1 ms 256 KB OK (n = 12, answer = YES)
28 Correct 1 ms 256 KB OK (n = 6, answer = YES)
29 Correct 1 ms 256 KB OK (n = 12, answer = YES)
30 Correct 1 ms 256 KB OK (n = 100, answer = NO)
31 Correct 1 ms 256 KB OK (n = 100, answer = YES)
32 Correct 0 ms 288 KB OK (n = 100, answer = NO)
33 Correct 1 ms 288 KB OK (n = 100, answer = YES)
34 Correct 0 ms 256 KB OK (n = 100, answer = YES)
35 Correct 0 ms 256 KB OK (n = 100, answer = YES)
36 Correct 0 ms 256 KB OK (n = 100, answer = YES)
37 Correct 0 ms 256 KB OK (n = 28, answer = YES)
38 Incorrect 1 ms 256 KB Contestant can not find answer, jury can
39 Halted 0 ms 0 KB -
# Verdict Execution time Memory 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 1 ms 256 KB OK (n = 3, answer = YES)
10 Correct 0 ms 256 KB OK (n = 3, answer = YES)
11 Correct 0 ms 256 KB OK (n = 3, answer = YES)
12 Correct 0 ms 256 KB OK (n = 3, answer = YES)
13 Correct 0 ms 256 KB OK (n = 3, answer = NO)
14 Correct 1 ms 256 KB OK (n = 3, answer = YES)
15 Correct 0 ms 256 KB OK (n = 3, answer = YES)
16 Correct 1 ms 384 KB OK (n = 3, answer = NO)
17 Correct 0 ms 256 KB OK (n = 3, answer = NO)
18 Correct 1 ms 384 KB OK (n = 100, answer = NO)
19 Correct 0 ms 256 KB OK (n = 100, answer = YES)
20 Correct 1 ms 256 KB OK (n = 12, answer = YES)
21 Correct 0 ms 256 KB OK (n = 12, answer = YES)
22 Correct 0 ms 256 KB OK (n = 12, answer = NO)
23 Correct 1 ms 256 KB OK (n = 12, answer = NO)
24 Correct 0 ms 256 KB OK (n = 12, answer = YES)
25 Correct 1 ms 384 KB OK (n = 12, answer = YES)
26 Correct 0 ms 256 KB OK (n = 12, answer = YES)
27 Correct 1 ms 256 KB OK (n = 12, answer = YES)
28 Correct 1 ms 256 KB OK (n = 6, answer = YES)
29 Correct 1 ms 256 KB OK (n = 12, answer = YES)
30 Correct 1 ms 256 KB OK (n = 100, answer = NO)
31 Correct 1 ms 256 KB OK (n = 100, answer = YES)
32 Correct 0 ms 288 KB OK (n = 100, answer = NO)
33 Correct 1 ms 288 KB OK (n = 100, answer = YES)
34 Correct 0 ms 256 KB OK (n = 100, answer = YES)
35 Correct 0 ms 256 KB OK (n = 100, answer = YES)
36 Correct 0 ms 256 KB OK (n = 100, answer = YES)
37 Correct 0 ms 256 KB OK (n = 28, answer = YES)
38 Incorrect 1 ms 256 KB Contestant can not find answer, jury can
39 Halted 0 ms 0 KB -
# Verdict Execution time Memory 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 1 ms 256 KB OK (n = 3, answer = YES)
10 Correct 0 ms 256 KB OK (n = 3, answer = YES)
11 Correct 0 ms 256 KB OK (n = 3, answer = YES)
12 Correct 0 ms 256 KB OK (n = 3, answer = YES)
13 Correct 0 ms 256 KB OK (n = 3, answer = NO)
14 Correct 1 ms 256 KB OK (n = 3, answer = YES)
15 Correct 0 ms 256 KB OK (n = 3, answer = YES)
16 Correct 1 ms 384 KB OK (n = 3, answer = NO)
17 Correct 0 ms 256 KB OK (n = 3, answer = NO)
18 Correct 1 ms 384 KB OK (n = 100, answer = NO)
19 Correct 0 ms 256 KB OK (n = 100, answer = YES)
20 Correct 1 ms 256 KB OK (n = 12, answer = YES)
21 Correct 0 ms 256 KB OK (n = 12, answer = YES)
22 Correct 0 ms 256 KB OK (n = 12, answer = NO)
23 Correct 1 ms 256 KB OK (n = 12, answer = NO)
24 Correct 0 ms 256 KB OK (n = 12, answer = YES)
25 Correct 1 ms 384 KB OK (n = 12, answer = YES)
26 Correct 0 ms 256 KB OK (n = 12, answer = YES)
27 Correct 1 ms 256 KB OK (n = 12, answer = YES)
28 Correct 1 ms 256 KB OK (n = 6, answer = YES)
29 Correct 1 ms 256 KB OK (n = 12, answer = YES)
30 Correct 1 ms 256 KB OK (n = 100, answer = NO)
31 Correct 1 ms 256 KB OK (n = 100, answer = YES)
32 Correct 0 ms 288 KB OK (n = 100, answer = NO)
33 Correct 1 ms 288 KB OK (n = 100, answer = YES)
34 Correct 0 ms 256 KB OK (n = 100, answer = YES)
35 Correct 0 ms 256 KB OK (n = 100, answer = YES)
36 Correct 0 ms 256 KB OK (n = 100, answer = YES)
37 Correct 0 ms 256 KB OK (n = 28, answer = YES)
38 Incorrect 1 ms 256 KB Contestant can not find answer, jury can
39 Halted 0 ms 0 KB -