Submission #102024

# Submission time Handle Problem Language Result Execution time Memory
102024 2019-03-21T18:44:34 Z joylintp Detecting Molecules (IOI16_molecules) C++17
0 / 100
27 ms 384 KB
#include<bits/stdc++.h>
#include"molecules.h"

using namespace std;

pair<long long, int> ms[200000] = {};

vector<int> find_subset(int l, int u, vector<int> w)
{
    int amount = w.size(), i;
    for (i = 0; i < w.size(); i++)
        ms[i].second = i, ms[i].first = (long long)w[i];
    sort(ms, ms + amount);

    long long now = 0;
    vector<int> ans;
    i = 0;
    while (now < l && i < amount)
        now += ms[i++].first;
    if (now < l)
        return ans;
    else if (now == l)
    {

        for (int j = 0; j < i; j++)
            ans.push_back(ms[j].second);
        return ans;
    }
    else
    {
        int lans = 0, rans = i - 1;
        now -= ms[i - 1].first;
        if (now == 0)
            if (ms[0].first > u)
                return ans;
            else
            {
                ans.push_back(ms[0].first);
                return ans;
            }
        while (rans + 1 < amount && now < l)
            now = now - ms[lans].first + ms[rans + 1].first, rans++, lans++;
        if (now < l)
            return cout << lans << '\n', ans;
        else
        {
            for (int i = lans; i < rans; i++)
                ans.push_back(ms[i].second);
            return ans;
        }
    }
}

Compilation message

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:11:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (i = 0; i < w.size(); i++)
                 ~~^~~~~~~~~~
molecules.cpp:33:12: warning: suggest explicit braces to avoid ambiguous 'else' [-Wdangling-else]
         if (now == 0)
            ^
# Verdict Execution time Memory Grader output
1 Correct 2 ms 384 KB OK (n = 1, answer = NO)
2 Correct 2 ms 384 KB OK (n = 1, answer = NO)
3 Correct 2 ms 384 KB OK (n = 1, answer = YES)
4 Correct 2 ms 384 KB OK (n = 2, answer = YES)
5 Correct 2 ms 384 KB OK (n = 2, answer = YES)
6 Correct 3 ms 384 KB OK (n = 3, answer = YES)
7 Correct 3 ms 304 KB OK (n = 3, answer = YES)
8 Correct 2 ms 256 KB OK (n = 3, answer = YES)
9 Correct 2 ms 356 KB OK (n = 3, answer = YES)
10 Correct 2 ms 384 KB OK (n = 3, answer = YES)
11 Incorrect 2 ms 384 KB Integer 5 violates the range [0, 2]
12 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 384 KB OK (n = 12, answer = YES)
2 Correct 27 ms 384 KB OK (n = 12, answer = YES)
3 Incorrect 2 ms 384 KB Secret is incorrect!
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 384 KB OK (n = 1, answer = NO)
2 Correct 2 ms 384 KB OK (n = 1, answer = NO)
3 Correct 2 ms 384 KB OK (n = 1, answer = YES)
4 Correct 2 ms 384 KB OK (n = 2, answer = YES)
5 Correct 2 ms 384 KB OK (n = 2, answer = YES)
6 Correct 3 ms 384 KB OK (n = 3, answer = YES)
7 Correct 3 ms 304 KB OK (n = 3, answer = YES)
8 Correct 2 ms 256 KB OK (n = 3, answer = YES)
9 Correct 2 ms 356 KB OK (n = 3, answer = YES)
10 Correct 2 ms 384 KB OK (n = 3, answer = YES)
11 Incorrect 2 ms 384 KB Integer 5 violates the range [0, 2]
12 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 384 KB OK (n = 1, answer = NO)
2 Correct 2 ms 384 KB OK (n = 1, answer = NO)
3 Correct 2 ms 384 KB OK (n = 1, answer = YES)
4 Correct 2 ms 384 KB OK (n = 2, answer = YES)
5 Correct 2 ms 384 KB OK (n = 2, answer = YES)
6 Correct 3 ms 384 KB OK (n = 3, answer = YES)
7 Correct 3 ms 304 KB OK (n = 3, answer = YES)
8 Correct 2 ms 256 KB OK (n = 3, answer = YES)
9 Correct 2 ms 356 KB OK (n = 3, answer = YES)
10 Correct 2 ms 384 KB OK (n = 3, answer = YES)
11 Incorrect 2 ms 384 KB Integer 5 violates the range [0, 2]
12 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 384 KB OK (n = 1, answer = NO)
2 Correct 2 ms 384 KB OK (n = 1, answer = NO)
3 Correct 2 ms 384 KB OK (n = 1, answer = YES)
4 Correct 2 ms 384 KB OK (n = 2, answer = YES)
5 Correct 2 ms 384 KB OK (n = 2, answer = YES)
6 Correct 3 ms 384 KB OK (n = 3, answer = YES)
7 Correct 3 ms 304 KB OK (n = 3, answer = YES)
8 Correct 2 ms 256 KB OK (n = 3, answer = YES)
9 Correct 2 ms 356 KB OK (n = 3, answer = YES)
10 Correct 2 ms 384 KB OK (n = 3, answer = YES)
11 Incorrect 2 ms 384 KB Integer 5 violates the range [0, 2]
12 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 384 KB OK (n = 1, answer = NO)
2 Correct 2 ms 384 KB OK (n = 1, answer = NO)
3 Correct 2 ms 384 KB OK (n = 1, answer = YES)
4 Correct 2 ms 384 KB OK (n = 2, answer = YES)
5 Correct 2 ms 384 KB OK (n = 2, answer = YES)
6 Correct 3 ms 384 KB OK (n = 3, answer = YES)
7 Correct 3 ms 304 KB OK (n = 3, answer = YES)
8 Correct 2 ms 256 KB OK (n = 3, answer = YES)
9 Correct 2 ms 356 KB OK (n = 3, answer = YES)
10 Correct 2 ms 384 KB OK (n = 3, answer = YES)
11 Incorrect 2 ms 384 KB Integer 5 violates the range [0, 2]
12 Halted 0 ms 0 KB -