답안 #102029

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
102029 2019-03-21T18:58:06 Z joylintp Detecting Molecules (IOI16_molecules) C++17
0 / 100
2 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 <= u)
    {
        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].second);
                return ans;
            }
        while (rans + 1 < amount && now < l)
            now = now - ms[lans].first + ms[rans + 1].first, rans++, lans++;
        if (now > u)
            return 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:32:12: warning: suggest explicit braces to avoid ambiguous 'else' [-Wdangling-else]
         if (now == 0)
            ^
# 결과 실행 시간 메모리 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 256 KB OK (n = 2, answer = YES)
6 Correct 2 ms 256 KB OK (n = 3, answer = YES)
7 Correct 2 ms 384 KB OK (n = 3, answer = YES)
8 Correct 2 ms 384 KB OK (n = 3, answer = YES)
9 Correct 2 ms 384 KB OK (n = 3, answer = YES)
10 Correct 2 ms 384 KB OK (n = 3, answer = YES)
11 Correct 2 ms 332 KB OK (n = 3, answer = YES)
12 Correct 2 ms 256 KB OK (n = 3, answer = YES)
13 Incorrect 2 ms 256 KB sum of weights should be in [6..9] but it is 5
14 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 256 KB OK (n = 12, answer = YES)
2 Correct 2 ms 384 KB OK (n = 12, answer = YES)
3 Incorrect 2 ms 384 KB sum of weights should be in [307..317] but it is 305
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 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 256 KB OK (n = 2, answer = YES)
6 Correct 2 ms 256 KB OK (n = 3, answer = YES)
7 Correct 2 ms 384 KB OK (n = 3, answer = YES)
8 Correct 2 ms 384 KB OK (n = 3, answer = YES)
9 Correct 2 ms 384 KB OK (n = 3, answer = YES)
10 Correct 2 ms 384 KB OK (n = 3, answer = YES)
11 Correct 2 ms 332 KB OK (n = 3, answer = YES)
12 Correct 2 ms 256 KB OK (n = 3, answer = YES)
13 Incorrect 2 ms 256 KB sum of weights should be in [6..9] but it is 5
14 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 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 256 KB OK (n = 2, answer = YES)
6 Correct 2 ms 256 KB OK (n = 3, answer = YES)
7 Correct 2 ms 384 KB OK (n = 3, answer = YES)
8 Correct 2 ms 384 KB OK (n = 3, answer = YES)
9 Correct 2 ms 384 KB OK (n = 3, answer = YES)
10 Correct 2 ms 384 KB OK (n = 3, answer = YES)
11 Correct 2 ms 332 KB OK (n = 3, answer = YES)
12 Correct 2 ms 256 KB OK (n = 3, answer = YES)
13 Incorrect 2 ms 256 KB sum of weights should be in [6..9] but it is 5
14 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 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 256 KB OK (n = 2, answer = YES)
6 Correct 2 ms 256 KB OK (n = 3, answer = YES)
7 Correct 2 ms 384 KB OK (n = 3, answer = YES)
8 Correct 2 ms 384 KB OK (n = 3, answer = YES)
9 Correct 2 ms 384 KB OK (n = 3, answer = YES)
10 Correct 2 ms 384 KB OK (n = 3, answer = YES)
11 Correct 2 ms 332 KB OK (n = 3, answer = YES)
12 Correct 2 ms 256 KB OK (n = 3, answer = YES)
13 Incorrect 2 ms 256 KB sum of weights should be in [6..9] but it is 5
14 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 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 256 KB OK (n = 2, answer = YES)
6 Correct 2 ms 256 KB OK (n = 3, answer = YES)
7 Correct 2 ms 384 KB OK (n = 3, answer = YES)
8 Correct 2 ms 384 KB OK (n = 3, answer = YES)
9 Correct 2 ms 384 KB OK (n = 3, answer = YES)
10 Correct 2 ms 384 KB OK (n = 3, answer = YES)
11 Correct 2 ms 332 KB OK (n = 3, answer = YES)
12 Correct 2 ms 256 KB OK (n = 3, answer = YES)
13 Incorrect 2 ms 256 KB sum of weights should be in [6..9] but it is 5
14 Halted 0 ms 0 KB -