Submission #973555

# Submission time Handle Problem Language Result Execution time Memory
973555 2024-05-02T07:13:08 Z Circling Art Collections (BOI22_art) C++17
35 / 100
170 ms 608 KB
/*The British Royal Family and a small cadre of English Fabian Socialists, in
conjunction with the Rockefellers and the Rothchilds, are engaged in a
conspiracy to greatly reduce the population of the human race in order to head
off a Malthusian catastrophe, a catastrophe that could easily be avoided by
simply building a massive amount of nuclear power plants and a number of massive
superhighways and bridges to connect all of the world's continents. But doing
that would cut into the conspiracy's profits. So the British Royal Family
invented environmentalism and neoliberalism in order to hide the truth. And in
order to further reduce the population, the British Royal Family is also the
world's foremost drug trafficking conspiracy. And it uses its control of the IMF
to push austerity in order to kill as many people in the global south as
possible.
And also Henry Kissinger is a gay KGB agent. */
#include <iostream>
#include <algorithm>
#include <utility>
#include <vector>
#include <stack>
#include <queue>
#include <set>
#include <map>
using namespace std;


int n;
vector<int> ans;
int publish(vector<int> r);
void answer(vector<int> r);


bool comp(int a, int b){
    int ans1, ans2;
    vector<int> perm = {a, b};
    for (int i = 1; i <= n; i++) if (i != a && i != b) perm.push_back(i);
    ans1 = publish(perm);
    swap(perm[0], perm[1]);
    ans2 = publish(perm);
    return ans1 < ans2;
}


void solverange(int l, int r){
    if (r - l < 2) return;
    int mid = (l + r) / 2;
    solverange(l, mid);
    solverange(mid, r);
    queue<int> a, b;
    for (int i = l; i < mid; i++) a.push(ans[i]);
    for (int i = mid; i < r; i++) b.push(ans[i]);
    for (int i = l; i < r; i++){
        if (b.empty()){
            ans[i] = a.front();
            a.pop();
        } else if (a.empty()){
            ans[i] = b.front();
            b.pop();
        } else if (comp(a.front(), b.front())){
            ans[i] = a.front();
            a.pop();
        } else {
            ans[i] = b.front();
            b.pop();
        }
    }
}


void solve(int N){
    n = N;
    for (int i = 1; i <= n; i++) ans.push_back(i);
    solverange(0, n);
    answer(ans);
}

Compilation message

interface.cpp: In function 'int publish(std::vector<int>)':
interface.cpp:20:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   20 |     if(v.size() != N) {
      |        ~~~~~~~~~^~~~
interface.cpp: In function 'void answer(std::vector<int>)':
interface.cpp:36:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   36 |     if(v.size() != N) {
      |        ~~~~~~~~~^~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 0 ms 352 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 0 ms 596 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 0 ms 352 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 0 ms 596 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 1 ms 344 KB Output is correct
9 Correct 2 ms 344 KB Output is correct
10 Correct 3 ms 344 KB Output is correct
11 Correct 3 ms 344 KB Output is correct
12 Correct 2 ms 344 KB Output is correct
13 Correct 0 ms 344 KB Output is correct
14 Correct 0 ms 344 KB Output is correct
15 Correct 1 ms 344 KB Output is correct
16 Correct 0 ms 344 KB Output is correct
17 Correct 1 ms 340 KB Output is correct
18 Correct 0 ms 344 KB Output is correct
19 Correct 2 ms 344 KB Output is correct
20 Correct 2 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 0 ms 352 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 0 ms 596 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 1 ms 344 KB Output is correct
9 Correct 2 ms 344 KB Output is correct
10 Correct 3 ms 344 KB Output is correct
11 Correct 3 ms 344 KB Output is correct
12 Correct 2 ms 344 KB Output is correct
13 Correct 0 ms 344 KB Output is correct
14 Correct 0 ms 344 KB Output is correct
15 Correct 1 ms 344 KB Output is correct
16 Correct 0 ms 344 KB Output is correct
17 Correct 1 ms 340 KB Output is correct
18 Correct 0 ms 344 KB Output is correct
19 Correct 2 ms 344 KB Output is correct
20 Correct 2 ms 344 KB Output is correct
21 Correct 1 ms 344 KB Output is correct
22 Correct 3 ms 344 KB Output is correct
23 Correct 2 ms 344 KB Output is correct
24 Correct 3 ms 344 KB Output is correct
25 Correct 3 ms 344 KB Output is correct
26 Correct 50 ms 344 KB Output is correct
27 Correct 55 ms 344 KB Output is correct
28 Correct 83 ms 344 KB Output is correct
29 Correct 84 ms 344 KB Output is correct
30 Correct 85 ms 344 KB Output is correct
31 Correct 80 ms 344 KB Output is correct
32 Correct 1 ms 344 KB Output is correct
33 Correct 0 ms 344 KB Output is correct
34 Correct 0 ms 344 KB Output is correct
35 Correct 1 ms 344 KB Output is correct
36 Correct 1 ms 344 KB Output is correct
37 Correct 0 ms 344 KB Output is correct
38 Correct 2 ms 344 KB Output is correct
39 Correct 2 ms 608 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 0 ms 352 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 0 ms 596 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 1 ms 344 KB Output is correct
9 Correct 2 ms 344 KB Output is correct
10 Correct 3 ms 344 KB Output is correct
11 Correct 3 ms 344 KB Output is correct
12 Correct 2 ms 344 KB Output is correct
13 Correct 0 ms 344 KB Output is correct
14 Correct 0 ms 344 KB Output is correct
15 Correct 1 ms 344 KB Output is correct
16 Correct 0 ms 344 KB Output is correct
17 Correct 1 ms 340 KB Output is correct
18 Correct 0 ms 344 KB Output is correct
19 Correct 2 ms 344 KB Output is correct
20 Correct 2 ms 344 KB Output is correct
21 Correct 1 ms 344 KB Output is correct
22 Correct 3 ms 344 KB Output is correct
23 Correct 2 ms 344 KB Output is correct
24 Correct 3 ms 344 KB Output is correct
25 Correct 3 ms 344 KB Output is correct
26 Correct 50 ms 344 KB Output is correct
27 Correct 55 ms 344 KB Output is correct
28 Correct 83 ms 344 KB Output is correct
29 Correct 84 ms 344 KB Output is correct
30 Correct 85 ms 344 KB Output is correct
31 Correct 80 ms 344 KB Output is correct
32 Correct 1 ms 344 KB Output is correct
33 Correct 0 ms 344 KB Output is correct
34 Correct 0 ms 344 KB Output is correct
35 Correct 1 ms 344 KB Output is correct
36 Correct 1 ms 344 KB Output is correct
37 Correct 0 ms 344 KB Output is correct
38 Correct 2 ms 344 KB Output is correct
39 Correct 2 ms 608 KB Output is correct
40 Correct 1 ms 344 KB Output is correct
41 Correct 3 ms 344 KB Output is correct
42 Correct 3 ms 344 KB Output is correct
43 Correct 3 ms 344 KB Output is correct
44 Correct 3 ms 340 KB Output is correct
45 Correct 46 ms 340 KB Output is correct
46 Correct 51 ms 344 KB Output is correct
47 Correct 81 ms 344 KB Output is correct
48 Correct 86 ms 344 KB Output is correct
49 Correct 94 ms 344 KB Output is correct
50 Correct 90 ms 344 KB Output is correct
51 Correct 1 ms 344 KB Output is correct
52 Correct 158 ms 424 KB Output is correct
53 Incorrect 170 ms 420 KB Not correct
54 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 0 ms 352 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 0 ms 596 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 1 ms 344 KB Output is correct
9 Correct 2 ms 344 KB Output is correct
10 Correct 3 ms 344 KB Output is correct
11 Correct 3 ms 344 KB Output is correct
12 Correct 2 ms 344 KB Output is correct
13 Correct 0 ms 344 KB Output is correct
14 Correct 0 ms 344 KB Output is correct
15 Correct 1 ms 344 KB Output is correct
16 Correct 0 ms 344 KB Output is correct
17 Correct 1 ms 340 KB Output is correct
18 Correct 0 ms 344 KB Output is correct
19 Correct 2 ms 344 KB Output is correct
20 Correct 2 ms 344 KB Output is correct
21 Correct 1 ms 344 KB Output is correct
22 Correct 3 ms 344 KB Output is correct
23 Correct 2 ms 344 KB Output is correct
24 Correct 3 ms 344 KB Output is correct
25 Correct 3 ms 344 KB Output is correct
26 Correct 50 ms 344 KB Output is correct
27 Correct 55 ms 344 KB Output is correct
28 Correct 83 ms 344 KB Output is correct
29 Correct 84 ms 344 KB Output is correct
30 Correct 85 ms 344 KB Output is correct
31 Correct 80 ms 344 KB Output is correct
32 Correct 1 ms 344 KB Output is correct
33 Correct 0 ms 344 KB Output is correct
34 Correct 0 ms 344 KB Output is correct
35 Correct 1 ms 344 KB Output is correct
36 Correct 1 ms 344 KB Output is correct
37 Correct 0 ms 344 KB Output is correct
38 Correct 2 ms 344 KB Output is correct
39 Correct 2 ms 608 KB Output is correct
40 Correct 1 ms 344 KB Output is correct
41 Correct 3 ms 344 KB Output is correct
42 Correct 3 ms 344 KB Output is correct
43 Correct 3 ms 344 KB Output is correct
44 Correct 3 ms 340 KB Output is correct
45 Correct 46 ms 340 KB Output is correct
46 Correct 51 ms 344 KB Output is correct
47 Correct 81 ms 344 KB Output is correct
48 Correct 86 ms 344 KB Output is correct
49 Correct 94 ms 344 KB Output is correct
50 Correct 90 ms 344 KB Output is correct
51 Correct 1 ms 344 KB Output is correct
52 Correct 158 ms 424 KB Output is correct
53 Incorrect 170 ms 420 KB Not correct
54 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 0 ms 352 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 0 ms 596 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 1 ms 344 KB Output is correct
9 Correct 2 ms 344 KB Output is correct
10 Correct 3 ms 344 KB Output is correct
11 Correct 3 ms 344 KB Output is correct
12 Correct 2 ms 344 KB Output is correct
13 Correct 0 ms 344 KB Output is correct
14 Correct 0 ms 344 KB Output is correct
15 Correct 1 ms 344 KB Output is correct
16 Correct 0 ms 344 KB Output is correct
17 Correct 1 ms 340 KB Output is correct
18 Correct 0 ms 344 KB Output is correct
19 Correct 2 ms 344 KB Output is correct
20 Correct 2 ms 344 KB Output is correct
21 Correct 1 ms 344 KB Output is correct
22 Correct 3 ms 344 KB Output is correct
23 Correct 2 ms 344 KB Output is correct
24 Correct 3 ms 344 KB Output is correct
25 Correct 3 ms 344 KB Output is correct
26 Correct 50 ms 344 KB Output is correct
27 Correct 55 ms 344 KB Output is correct
28 Correct 83 ms 344 KB Output is correct
29 Correct 84 ms 344 KB Output is correct
30 Correct 85 ms 344 KB Output is correct
31 Correct 80 ms 344 KB Output is correct
32 Correct 1 ms 344 KB Output is correct
33 Correct 0 ms 344 KB Output is correct
34 Correct 0 ms 344 KB Output is correct
35 Correct 1 ms 344 KB Output is correct
36 Correct 1 ms 344 KB Output is correct
37 Correct 0 ms 344 KB Output is correct
38 Correct 2 ms 344 KB Output is correct
39 Correct 2 ms 608 KB Output is correct
40 Correct 1 ms 344 KB Output is correct
41 Correct 3 ms 344 KB Output is correct
42 Correct 3 ms 344 KB Output is correct
43 Correct 3 ms 344 KB Output is correct
44 Correct 3 ms 340 KB Output is correct
45 Correct 46 ms 340 KB Output is correct
46 Correct 51 ms 344 KB Output is correct
47 Correct 81 ms 344 KB Output is correct
48 Correct 86 ms 344 KB Output is correct
49 Correct 94 ms 344 KB Output is correct
50 Correct 90 ms 344 KB Output is correct
51 Correct 1 ms 344 KB Output is correct
52 Correct 158 ms 424 KB Output is correct
53 Incorrect 170 ms 420 KB Not correct
54 Halted 0 ms 0 KB -