Submission #519426

# Submission time Handle Problem Language Result Execution time Memory
519426 2022-01-26T10:49:44 Z KoD Drvca (COCI19_drvca) C++17
0 / 110
85 ms 12384 KB
#include <bits/stdc++.h>

using std::vector;
using std::array;
using std::pair;
using std::tuple;

void show(const vector<int>& v) {
    const int n = v.size();
    std::cout << n << '\n';
    for (int i = 0; i < n; ++i) {
        std::cout << v[i] << " \n"[i + 1 == n];
    }
}

int main() {
    std::ios_base::sync_with_stdio(false);
    std::cin.tie(nullptr);
    int N;
    std::cin >> N;
    vector<int> A(N);
    for (auto& x : A) {
        std::cin >> x;
    }
    const auto try_seq = [&](const int first, const int dif) {
        std::multiset<int> set(A.begin(), A.end());
        std::multiset<int> dist;
        for (auto itr = set.begin(); std::next(itr) != set.end(); ++itr) {
            dist.insert(*std::next(itr) - *itr);
        }
        int element = first;
        vector<int> taken;
        while (true) {
            auto itr = set.find(element);
            if (itr == set.end()) {
                return;
            }
            if (itr != set.begin()) {
                dist.erase(dist.find(*itr - *std::prev(itr)));
            }
            if (std::next(itr) != set.end()) {
                dist.erase(dist.find(*std::next(itr) - *itr));
            }
            if (itr != set.begin() and std::next(itr) != set.end()) {
                dist.insert(*std::next(itr) - *std::prev(itr));
            }
            taken.push_back(element);
            set.erase(itr);
            if (*dist.begin() == *dist.rbegin()) {
                show(taken);
                show(vector<int>(set.begin(), set.end()));
                std::exit(EXIT_SUCCESS);
            }
            element += dif;
        }
    };
    std::sort(A.begin(), A.end());
    try_seq(A[0], A[1] - A[0]);
    try_seq(A[0], A[2] - A[0]);
    try_seq(A[1], A[2] - A[1]);
    std::cout << -1 << '\n';
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 316 KB Output is correct
3 Correct 1 ms 308 KB Output is correct
4 Correct 1 ms 312 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Correct 1 ms 204 KB Output is correct
8 Correct 1 ms 204 KB Output is correct
9 Correct 1 ms 204 KB Output is correct
10 Correct 1 ms 204 KB Output is correct
11 Correct 1 ms 312 KB Output is correct
12 Correct 1 ms 204 KB Output is correct
13 Correct 0 ms 316 KB Output is correct
14 Runtime error 1 ms 432 KB Execution killed with signal 11
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 316 KB Output is correct
3 Correct 1 ms 308 KB Output is correct
4 Correct 1 ms 312 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Correct 1 ms 204 KB Output is correct
8 Correct 1 ms 204 KB Output is correct
9 Correct 1 ms 204 KB Output is correct
10 Correct 1 ms 204 KB Output is correct
11 Correct 1 ms 312 KB Output is correct
12 Correct 1 ms 204 KB Output is correct
13 Correct 0 ms 316 KB Output is correct
14 Runtime error 1 ms 432 KB Execution killed with signal 11
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 85 ms 11964 KB Output is correct
2 Correct 59 ms 11952 KB Output is correct
3 Correct 82 ms 12048 KB Output is correct
4 Correct 61 ms 12076 KB Output is correct
5 Correct 85 ms 11972 KB Output is correct
6 Correct 61 ms 11972 KB Output is correct
7 Correct 73 ms 12076 KB Output is correct
8 Correct 62 ms 11972 KB Output is correct
9 Correct 58 ms 11340 KB Output is correct
10 Correct 80 ms 11972 KB Output is correct
11 Correct 67 ms 12384 KB Output is correct
12 Runtime error 1 ms 440 KB Execution killed with signal 11
13 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 316 KB Output is correct
3 Correct 1 ms 308 KB Output is correct
4 Correct 1 ms 312 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Correct 1 ms 204 KB Output is correct
8 Correct 1 ms 204 KB Output is correct
9 Correct 1 ms 204 KB Output is correct
10 Correct 1 ms 204 KB Output is correct
11 Correct 1 ms 312 KB Output is correct
12 Correct 1 ms 204 KB Output is correct
13 Correct 0 ms 316 KB Output is correct
14 Runtime error 1 ms 432 KB Execution killed with signal 11
15 Halted 0 ms 0 KB -