Submission #272985

# Submission time Handle Problem Language Result Execution time Memory
272985 2020-08-19T00:56:20 Z hamerin Detecting Molecules (IOI16_molecules) C++17
19 / 100
1 ms 384 KB
#include "molecules.h"

#include <bits/stdc++.h>

#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")

using namespace std;

using i64 = long long;
using d64 = long double;
using pi = pair<int, int>;
using pli = pair<i64, i64>;
using ti = tuple<int, int, int>;
using tli = tuple<i64, i64, i64>;

#define iterall(cont) cont.begin(), cont.end()
#define prec(n) setprecision(n) << fixed

vector<int> find_subset(int l, int u, vector<int> w) {
    const int N = w.size();

    vector<pli> wei;
    for (int i = 0; i < N; i++) wei.emplace_back(w[i], i);

    // prefix sum
    vector<i64> ps(N + 1);
    for (int i = 1; i <= N; i++) ps[i] = ps[i - 1] + w[i - 1];

    function<i64(int, int)> rangeSum = [&ps](int _l, int _r) {
        return ps[_r + 1] - ps[_l];
    };


    for (int iv = 0; iv < N; iv++) {
        auto lBound = rangeSum(0, iv);
        auto rBound = rangeSum(N - 1 - iv, N - 1);

        if (l <= lBound && lBound <= u) {
            vector<int> ret;
            for (int k = 0; k <= iv; k++) ret.emplace_back(k);
            return ret;
        }

        if (l <= rBound && rBound <= u) {
            vector<int> ret;
            for (int k = N - 1 - iv; k <= N - 1; k++) ret.emplace_back(k);
            return ret;
        }

        if (lBound <= l && u <= rBound) {
            for (int j = 0; j < N - 1 - iv; j++) {
                if (l <= rangeSum(j, j + iv) && rangeSum(j, j + iv) <= u) {
                    vector<int> ret;
                    for (int k = j; k <= j + iv; k++) ret.emplace_back(k);
                    return ret;
                }
            }
        }
    }

    return vector<int>();
}
# 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 1 ms 256 KB OK (n = 1, answer = YES)
4 Correct 0 ms 384 KB OK (n = 2, answer = YES)
5 Correct 0 ms 256 KB OK (n = 2, answer = YES)
6 Correct 1 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 1 ms 256 KB OK (n = 3, answer = YES)
12 Correct 0 ms 256 KB OK (n = 3, answer = YES)
13 Correct 1 ms 384 KB OK (n = 3, answer = NO)
14 Correct 0 ms 256 KB OK (n = 3, answer = YES)
15 Correct 1 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 0 ms 256 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 0 ms 256 KB OK (n = 12, answer = YES)
2 Correct 0 ms 256 KB OK (n = 12, answer = YES)
3 Correct 1 ms 256 KB OK (n = 12, answer = NO)
4 Correct 0 ms 256 KB OK (n = 12, answer = NO)
5 Correct 0 ms 256 KB OK (n = 12, answer = YES)
6 Correct 0 ms 256 KB OK (n = 12, answer = YES)
7 Correct 0 ms 256 KB OK (n = 12, answer = YES)
8 Correct 0 ms 256 KB OK (n = 12, answer = YES)
9 Correct 0 ms 256 KB OK (n = 6, answer = YES)
10 Correct 0 ms 256 KB OK (n = 12, answer = YES)
11 Correct 0 ms 256 KB OK (n = 100, answer = NO)
12 Correct 0 ms 256 KB OK (n = 100, answer = YES)
13 Correct 0 ms 256 KB OK (n = 100, answer = NO)
14 Correct 1 ms 256 KB OK (n = 100, answer = YES)
15 Correct 1 ms 256 KB OK (n = 100, answer = YES)
16 Correct 0 ms 256 KB OK (n = 100, answer = YES)
17 Correct 1 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 1 ms 256 KB OK (n = 1, answer = YES)
4 Correct 0 ms 384 KB OK (n = 2, answer = YES)
5 Correct 0 ms 256 KB OK (n = 2, answer = YES)
6 Correct 1 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 1 ms 256 KB OK (n = 3, answer = YES)
12 Correct 0 ms 256 KB OK (n = 3, answer = YES)
13 Correct 1 ms 384 KB OK (n = 3, answer = NO)
14 Correct 0 ms 256 KB OK (n = 3, answer = YES)
15 Correct 1 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 0 ms 256 KB OK (n = 100, answer = NO)
19 Correct 0 ms 256 KB OK (n = 100, answer = YES)
20 Correct 0 ms 256 KB OK (n = 12, answer = YES)
21 Correct 0 ms 256 KB OK (n = 12, answer = YES)
22 Correct 1 ms 256 KB OK (n = 12, answer = NO)
23 Correct 0 ms 256 KB OK (n = 12, answer = NO)
24 Correct 0 ms 256 KB OK (n = 12, answer = YES)
25 Correct 0 ms 256 KB OK (n = 12, answer = YES)
26 Correct 0 ms 256 KB OK (n = 12, answer = YES)
27 Correct 0 ms 256 KB OK (n = 12, answer = YES)
28 Correct 0 ms 256 KB OK (n = 6, answer = YES)
29 Correct 0 ms 256 KB OK (n = 12, answer = YES)
30 Correct 0 ms 256 KB OK (n = 100, answer = NO)
31 Correct 0 ms 256 KB OK (n = 100, answer = YES)
32 Correct 0 ms 256 KB OK (n = 100, answer = NO)
33 Correct 1 ms 256 KB OK (n = 100, answer = YES)
34 Correct 1 ms 256 KB OK (n = 100, answer = YES)
35 Correct 0 ms 256 KB OK (n = 100, answer = YES)
36 Correct 1 ms 256 KB OK (n = 100, answer = YES)
37 Correct 0 ms 256 KB OK (n = 28, answer = YES)
38 Correct 0 ms 256 KB OK (n = 27, answer = YES)
39 Correct 1 ms 256 KB OK (n = 90, answer = YES)
40 Correct 1 ms 256 KB OK (n = 100, answer = YES)
41 Correct 0 ms 256 KB OK (n = 100, answer = YES)
42 Correct 1 ms 256 KB OK (n = 10, answer = YES)
43 Correct 0 ms 256 KB OK (n = 100, answer = YES)
44 Incorrect 0 ms 256 KB Contestant can not find answer, jury can
45 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 1 ms 256 KB OK (n = 1, answer = YES)
4 Correct 0 ms 384 KB OK (n = 2, answer = YES)
5 Correct 0 ms 256 KB OK (n = 2, answer = YES)
6 Correct 1 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 1 ms 256 KB OK (n = 3, answer = YES)
12 Correct 0 ms 256 KB OK (n = 3, answer = YES)
13 Correct 1 ms 384 KB OK (n = 3, answer = NO)
14 Correct 0 ms 256 KB OK (n = 3, answer = YES)
15 Correct 1 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 0 ms 256 KB OK (n = 100, answer = NO)
19 Correct 0 ms 256 KB OK (n = 100, answer = YES)
20 Correct 0 ms 256 KB OK (n = 12, answer = YES)
21 Correct 0 ms 256 KB OK (n = 12, answer = YES)
22 Correct 1 ms 256 KB OK (n = 12, answer = NO)
23 Correct 0 ms 256 KB OK (n = 12, answer = NO)
24 Correct 0 ms 256 KB OK (n = 12, answer = YES)
25 Correct 0 ms 256 KB OK (n = 12, answer = YES)
26 Correct 0 ms 256 KB OK (n = 12, answer = YES)
27 Correct 0 ms 256 KB OK (n = 12, answer = YES)
28 Correct 0 ms 256 KB OK (n = 6, answer = YES)
29 Correct 0 ms 256 KB OK (n = 12, answer = YES)
30 Correct 0 ms 256 KB OK (n = 100, answer = NO)
31 Correct 0 ms 256 KB OK (n = 100, answer = YES)
32 Correct 0 ms 256 KB OK (n = 100, answer = NO)
33 Correct 1 ms 256 KB OK (n = 100, answer = YES)
34 Correct 1 ms 256 KB OK (n = 100, answer = YES)
35 Correct 0 ms 256 KB OK (n = 100, answer = YES)
36 Correct 1 ms 256 KB OK (n = 100, answer = YES)
37 Correct 0 ms 256 KB OK (n = 28, answer = YES)
38 Correct 0 ms 256 KB OK (n = 27, answer = YES)
39 Correct 1 ms 256 KB OK (n = 90, answer = YES)
40 Correct 1 ms 256 KB OK (n = 100, answer = YES)
41 Correct 0 ms 256 KB OK (n = 100, answer = YES)
42 Correct 1 ms 256 KB OK (n = 10, answer = YES)
43 Correct 0 ms 256 KB OK (n = 100, answer = YES)
44 Incorrect 0 ms 256 KB Contestant can not find answer, jury can
45 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 1 ms 256 KB OK (n = 1, answer = YES)
4 Correct 0 ms 384 KB OK (n = 2, answer = YES)
5 Correct 0 ms 256 KB OK (n = 2, answer = YES)
6 Correct 1 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 1 ms 256 KB OK (n = 3, answer = YES)
12 Correct 0 ms 256 KB OK (n = 3, answer = YES)
13 Correct 1 ms 384 KB OK (n = 3, answer = NO)
14 Correct 0 ms 256 KB OK (n = 3, answer = YES)
15 Correct 1 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 0 ms 256 KB OK (n = 100, answer = NO)
19 Correct 0 ms 256 KB OK (n = 100, answer = YES)
20 Correct 0 ms 256 KB OK (n = 12, answer = YES)
21 Correct 0 ms 256 KB OK (n = 12, answer = YES)
22 Correct 1 ms 256 KB OK (n = 12, answer = NO)
23 Correct 0 ms 256 KB OK (n = 12, answer = NO)
24 Correct 0 ms 256 KB OK (n = 12, answer = YES)
25 Correct 0 ms 256 KB OK (n = 12, answer = YES)
26 Correct 0 ms 256 KB OK (n = 12, answer = YES)
27 Correct 0 ms 256 KB OK (n = 12, answer = YES)
28 Correct 0 ms 256 KB OK (n = 6, answer = YES)
29 Correct 0 ms 256 KB OK (n = 12, answer = YES)
30 Correct 0 ms 256 KB OK (n = 100, answer = NO)
31 Correct 0 ms 256 KB OK (n = 100, answer = YES)
32 Correct 0 ms 256 KB OK (n = 100, answer = NO)
33 Correct 1 ms 256 KB OK (n = 100, answer = YES)
34 Correct 1 ms 256 KB OK (n = 100, answer = YES)
35 Correct 0 ms 256 KB OK (n = 100, answer = YES)
36 Correct 1 ms 256 KB OK (n = 100, answer = YES)
37 Correct 0 ms 256 KB OK (n = 28, answer = YES)
38 Correct 0 ms 256 KB OK (n = 27, answer = YES)
39 Correct 1 ms 256 KB OK (n = 90, answer = YES)
40 Correct 1 ms 256 KB OK (n = 100, answer = YES)
41 Correct 0 ms 256 KB OK (n = 100, answer = YES)
42 Correct 1 ms 256 KB OK (n = 10, answer = YES)
43 Correct 0 ms 256 KB OK (n = 100, answer = YES)
44 Incorrect 0 ms 256 KB Contestant can not find answer, jury can
45 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 1 ms 256 KB OK (n = 1, answer = YES)
4 Correct 0 ms 384 KB OK (n = 2, answer = YES)
5 Correct 0 ms 256 KB OK (n = 2, answer = YES)
6 Correct 1 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 1 ms 256 KB OK (n = 3, answer = YES)
12 Correct 0 ms 256 KB OK (n = 3, answer = YES)
13 Correct 1 ms 384 KB OK (n = 3, answer = NO)
14 Correct 0 ms 256 KB OK (n = 3, answer = YES)
15 Correct 1 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 0 ms 256 KB OK (n = 100, answer = NO)
19 Correct 0 ms 256 KB OK (n = 100, answer = YES)
20 Correct 0 ms 256 KB OK (n = 12, answer = YES)
21 Correct 0 ms 256 KB OK (n = 12, answer = YES)
22 Correct 1 ms 256 KB OK (n = 12, answer = NO)
23 Correct 0 ms 256 KB OK (n = 12, answer = NO)
24 Correct 0 ms 256 KB OK (n = 12, answer = YES)
25 Correct 0 ms 256 KB OK (n = 12, answer = YES)
26 Correct 0 ms 256 KB OK (n = 12, answer = YES)
27 Correct 0 ms 256 KB OK (n = 12, answer = YES)
28 Correct 0 ms 256 KB OK (n = 6, answer = YES)
29 Correct 0 ms 256 KB OK (n = 12, answer = YES)
30 Correct 0 ms 256 KB OK (n = 100, answer = NO)
31 Correct 0 ms 256 KB OK (n = 100, answer = YES)
32 Correct 0 ms 256 KB OK (n = 100, answer = NO)
33 Correct 1 ms 256 KB OK (n = 100, answer = YES)
34 Correct 1 ms 256 KB OK (n = 100, answer = YES)
35 Correct 0 ms 256 KB OK (n = 100, answer = YES)
36 Correct 1 ms 256 KB OK (n = 100, answer = YES)
37 Correct 0 ms 256 KB OK (n = 28, answer = YES)
38 Correct 0 ms 256 KB OK (n = 27, answer = YES)
39 Correct 1 ms 256 KB OK (n = 90, answer = YES)
40 Correct 1 ms 256 KB OK (n = 100, answer = YES)
41 Correct 0 ms 256 KB OK (n = 100, answer = YES)
42 Correct 1 ms 256 KB OK (n = 10, answer = YES)
43 Correct 0 ms 256 KB OK (n = 100, answer = YES)
44 Incorrect 0 ms 256 KB Contestant can not find answer, jury can
45 Halted 0 ms 0 KB -