답안 #1115286

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1115286 2024-11-20T09:52:46 Z Zflop Detecting Molecules (IOI16_molecules) C++14
9 / 100
1 ms 504 KB
#pragma once
#include <bits/stdc++.h>
#include <vector>
using namespace std;
const int NMAX = (int)1e3 * 2;

std::vector<int> find_subset(int l, int u, std::vector<int> w) {
    vector<pair<int,int>>p;
    for (int i = 0; i < w.size();++i)
        p.push_back({w[i],i});
    sort(p.begin(),p.end());
    set<pair<int,int>>m;
    vector<int>v1;
    int s = 0;
    int i = w.size() - 1;
    for (; i >= 0 && s <= u;--i) {
        if (s >= l && s <= u) return v1;
        m.insert(p[i]);
        v1.push_back(p[i].second);
        s += p[i].first;
    }
    if (s < l) return {};
    if (s <= u && s >= l) return v1;
    int j = i;
    i = 0;
    while (i <= j) {
        auto a = *m.begin();
        s -= a.first;
        s += p[i].first;
        m.erase(a);
        m.insert(p[i]);
        if (s <= u && s >= l) {
            vector<int>v;
            while (m.size()) {
                auto b = *m.begin();
                v.push_back(b.second);
                m.erase(b);
            }
            return v;
        }
        ++i;
    }
    for (auto& x : m) {
        int sum = s - x.second;
        if (sum <= u && sum >= l) {
            m.erase(x);
            break;
        }
    }
    vector<int>ceva;
    while (m.size()) {
        auto g = *m.begin();
        ceva.push_back(g.second);
        m.erase(m.begin());
    }
    if (s >= l && s <= u) return ceva;
    return {};
}

Compilation message

molecules.cpp:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:9:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    9 |     for (int i = 0; i < w.size();++i)
      |                     ~~^~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 336 KB OK (n = 1, answer = NO)
2 Correct 1 ms 336 KB OK (n = 1, answer = NO)
3 Correct 1 ms 336 KB OK (n = 1, answer = YES)
4 Correct 1 ms 336 KB OK (n = 2, answer = YES)
5 Correct 1 ms 336 KB OK (n = 2, answer = YES)
6 Correct 1 ms 336 KB OK (n = 3, answer = YES)
7 Correct 1 ms 504 KB OK (n = 3, answer = YES)
8 Correct 1 ms 336 KB OK (n = 3, answer = YES)
9 Correct 1 ms 336 KB OK (n = 3, answer = YES)
10 Correct 1 ms 336 KB OK (n = 3, answer = YES)
11 Correct 1 ms 336 KB OK (n = 3, answer = YES)
12 Correct 1 ms 336 KB OK (n = 3, answer = YES)
13 Correct 1 ms 336 KB OK (n = 3, answer = NO)
14 Correct 1 ms 336 KB OK (n = 3, answer = YES)
15 Correct 1 ms 336 KB OK (n = 3, answer = YES)
16 Correct 1 ms 336 KB OK (n = 3, answer = NO)
17 Correct 1 ms 336 KB OK (n = 3, answer = NO)
18 Correct 1 ms 336 KB OK (n = 100, answer = NO)
19 Correct 1 ms 336 KB OK (n = 100, answer = YES)
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 504 KB Contestant can not find answer, jury can
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 336 KB OK (n = 1, answer = NO)
2 Correct 1 ms 336 KB OK (n = 1, answer = NO)
3 Correct 1 ms 336 KB OK (n = 1, answer = YES)
4 Correct 1 ms 336 KB OK (n = 2, answer = YES)
5 Correct 1 ms 336 KB OK (n = 2, answer = YES)
6 Correct 1 ms 336 KB OK (n = 3, answer = YES)
7 Correct 1 ms 504 KB OK (n = 3, answer = YES)
8 Correct 1 ms 336 KB OK (n = 3, answer = YES)
9 Correct 1 ms 336 KB OK (n = 3, answer = YES)
10 Correct 1 ms 336 KB OK (n = 3, answer = YES)
11 Correct 1 ms 336 KB OK (n = 3, answer = YES)
12 Correct 1 ms 336 KB OK (n = 3, answer = YES)
13 Correct 1 ms 336 KB OK (n = 3, answer = NO)
14 Correct 1 ms 336 KB OK (n = 3, answer = YES)
15 Correct 1 ms 336 KB OK (n = 3, answer = YES)
16 Correct 1 ms 336 KB OK (n = 3, answer = NO)
17 Correct 1 ms 336 KB OK (n = 3, answer = NO)
18 Correct 1 ms 336 KB OK (n = 100, answer = NO)
19 Correct 1 ms 336 KB OK (n = 100, answer = YES)
20 Incorrect 1 ms 504 KB Contestant can not find answer, jury can
21 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 336 KB OK (n = 1, answer = NO)
2 Correct 1 ms 336 KB OK (n = 1, answer = NO)
3 Correct 1 ms 336 KB OK (n = 1, answer = YES)
4 Correct 1 ms 336 KB OK (n = 2, answer = YES)
5 Correct 1 ms 336 KB OK (n = 2, answer = YES)
6 Correct 1 ms 336 KB OK (n = 3, answer = YES)
7 Correct 1 ms 504 KB OK (n = 3, answer = YES)
8 Correct 1 ms 336 KB OK (n = 3, answer = YES)
9 Correct 1 ms 336 KB OK (n = 3, answer = YES)
10 Correct 1 ms 336 KB OK (n = 3, answer = YES)
11 Correct 1 ms 336 KB OK (n = 3, answer = YES)
12 Correct 1 ms 336 KB OK (n = 3, answer = YES)
13 Correct 1 ms 336 KB OK (n = 3, answer = NO)
14 Correct 1 ms 336 KB OK (n = 3, answer = YES)
15 Correct 1 ms 336 KB OK (n = 3, answer = YES)
16 Correct 1 ms 336 KB OK (n = 3, answer = NO)
17 Correct 1 ms 336 KB OK (n = 3, answer = NO)
18 Correct 1 ms 336 KB OK (n = 100, answer = NO)
19 Correct 1 ms 336 KB OK (n = 100, answer = YES)
20 Incorrect 1 ms 504 KB Contestant can not find answer, jury can
21 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 336 KB OK (n = 1, answer = NO)
2 Correct 1 ms 336 KB OK (n = 1, answer = NO)
3 Correct 1 ms 336 KB OK (n = 1, answer = YES)
4 Correct 1 ms 336 KB OK (n = 2, answer = YES)
5 Correct 1 ms 336 KB OK (n = 2, answer = YES)
6 Correct 1 ms 336 KB OK (n = 3, answer = YES)
7 Correct 1 ms 504 KB OK (n = 3, answer = YES)
8 Correct 1 ms 336 KB OK (n = 3, answer = YES)
9 Correct 1 ms 336 KB OK (n = 3, answer = YES)
10 Correct 1 ms 336 KB OK (n = 3, answer = YES)
11 Correct 1 ms 336 KB OK (n = 3, answer = YES)
12 Correct 1 ms 336 KB OK (n = 3, answer = YES)
13 Correct 1 ms 336 KB OK (n = 3, answer = NO)
14 Correct 1 ms 336 KB OK (n = 3, answer = YES)
15 Correct 1 ms 336 KB OK (n = 3, answer = YES)
16 Correct 1 ms 336 KB OK (n = 3, answer = NO)
17 Correct 1 ms 336 KB OK (n = 3, answer = NO)
18 Correct 1 ms 336 KB OK (n = 100, answer = NO)
19 Correct 1 ms 336 KB OK (n = 100, answer = YES)
20 Incorrect 1 ms 504 KB Contestant can not find answer, jury can
21 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 336 KB OK (n = 1, answer = NO)
2 Correct 1 ms 336 KB OK (n = 1, answer = NO)
3 Correct 1 ms 336 KB OK (n = 1, answer = YES)
4 Correct 1 ms 336 KB OK (n = 2, answer = YES)
5 Correct 1 ms 336 KB OK (n = 2, answer = YES)
6 Correct 1 ms 336 KB OK (n = 3, answer = YES)
7 Correct 1 ms 504 KB OK (n = 3, answer = YES)
8 Correct 1 ms 336 KB OK (n = 3, answer = YES)
9 Correct 1 ms 336 KB OK (n = 3, answer = YES)
10 Correct 1 ms 336 KB OK (n = 3, answer = YES)
11 Correct 1 ms 336 KB OK (n = 3, answer = YES)
12 Correct 1 ms 336 KB OK (n = 3, answer = YES)
13 Correct 1 ms 336 KB OK (n = 3, answer = NO)
14 Correct 1 ms 336 KB OK (n = 3, answer = YES)
15 Correct 1 ms 336 KB OK (n = 3, answer = YES)
16 Correct 1 ms 336 KB OK (n = 3, answer = NO)
17 Correct 1 ms 336 KB OK (n = 3, answer = NO)
18 Correct 1 ms 336 KB OK (n = 100, answer = NO)
19 Correct 1 ms 336 KB OK (n = 100, answer = YES)
20 Incorrect 1 ms 504 KB Contestant can not find answer, jury can
21 Halted 0 ms 0 KB -