Submission #1067507

# Submission time Handle Problem Language Result Execution time Memory
1067507 2024-08-20T18:52:32 Z jsannemo Carnival (CEOI14_carnival) C++14
100 / 100
7 ms 600 KB
#include <bits/stdc++.h>
using namespace std;

#define rep(i, a, b) for(int i = a; i < (b); ++i)
#define all(x) begin(x), end(x)
#define sz(x) (int)(x).size()
typedef long long ll;
typedef pair<int, int> pii;
typedef vector<int> vi;

int query(vi q) {
    cout << q.size();
    for (int i : q) cout << " " << i + 1;
    cout << endl;
    int res;
    cin >> res;
    return res;
}

int main() {
	cin.tie(0)->sync_with_stdio(0);
	cin.exceptions(cin.failbit);

    int N;
    cin >> N;

    vi distinct;
    vi col(N);
    col[0] = 1;
    distinct.emplace_back(0);

    rep(i,1,N) {
        vi cand = distinct;
        while (sz(cand) > 1) {
            int mid = sz(cand) / 2;
            vi half(cand.begin()+mid, cand.end());
            vi q = half;
            q.push_back(i);
            if (query(q) < sz(q)) {
                cand = half;
            } else {
                cand.resize(mid);
            }
        }
        if (query({i, cand[0]}) == 1) col[i] = col[cand[0]];
        else {
            distinct.push_back(i);
            col[i] = sz(distinct);
        }
    }
    cout << 0;
    rep(i,0,N) cout << " " << col[i];
    cout << endl;
}
# Verdict Execution time Memory Grader output
1 Correct 3 ms 344 KB Output is correct
2 Correct 3 ms 452 KB Output is correct
3 Correct 6 ms 344 KB Output is correct
4 Correct 6 ms 344 KB Output is correct
5 Correct 2 ms 344 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
7 Correct 3 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 344 KB Output is correct
2 Correct 5 ms 452 KB Output is correct
3 Correct 3 ms 456 KB Output is correct
4 Correct 4 ms 452 KB Output is correct
5 Correct 4 ms 344 KB Output is correct
6 Correct 2 ms 344 KB Output is correct
7 Correct 3 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 3 ms 344 KB Output is correct
3 Correct 7 ms 344 KB Output is correct
4 Correct 5 ms 344 KB Output is correct
5 Correct 3 ms 344 KB Output is correct
6 Correct 3 ms 452 KB Output is correct
7 Correct 5 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 344 KB Output is correct
2 Correct 4 ms 344 KB Output is correct
3 Correct 5 ms 456 KB Output is correct
4 Correct 5 ms 600 KB Output is correct
5 Correct 4 ms 344 KB Output is correct
6 Correct 4 ms 344 KB Output is correct
7 Correct 5 ms 440 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 344 KB Output is correct
2 Correct 3 ms 344 KB Output is correct
3 Correct 7 ms 344 KB Output is correct
4 Correct 5 ms 456 KB Output is correct
5 Correct 3 ms 344 KB Output is correct
6 Correct 4 ms 460 KB Output is correct
7 Correct 7 ms 460 KB Output is correct