164632025-05-02 10:24:43szilKutyák és macskákcpp17Partially correct 86.13/100796ms868 KiB
#include "KutyakMacskak.h"
#include <bits/stdc++.h>

using namespace std;

vector<int> get_rand_perm(int N) {
    vector<int> v(N);
    iota(v.begin(), v.end(), 1);
    random_shuffle(v.begin(), v.end());
    return v;
}

std::vector<int> find_order(int N, int M) {
    srand(42);
    swap(N, M);
    int best = 1;
    for (int i = 2; i <= N; i++) {
        if (ask(1, best, i) == best) best = i;
    }


    auto macskak = get_rand_perm(N);
    auto kutyak = get_rand_perm(M);

    int ptr = 1, kutya = -1;
    for (int i : kutyak) {
        for (; ptr <= N; ptr++) {
            int x = macskak[ptr-1];
            if (x == best) continue;
            if (ask(i, x, best) == x) {
                break;
            }
        }
        if (ptr > N) {
            kutya = i;
            break;
        }
    }

    auto ord = get_rand_perm(N);

    stable_sort(ord.begin(), ord.end(), [&](int a, int b){
        return ask(kutya, a, b) == a;
    });

    return ord;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms564 KiB
2Accepted732ms564 KiB
subtask26/6
3Accepted781ms564 KiB
4Accepted796ms824 KiB
5Accepted683ms412 KiB
6Accepted690ms316 KiB
7Accepted768ms316 KiB
subtask37/7
8Accepted2ms316 KiB
9Accepted2ms316 KiB
10Accepted2ms316 KiB
11Accepted2ms316 KiB
12Accepted2ms508 KiB
13Accepted27ms316 KiB
14Accepted27ms316 KiB
subtask410/10
15Accepted8ms316 KiB
16Accepted8ms316 KiB
17Accepted8ms316 KiB
18Accepted8ms316 KiB
19Accepted8ms316 KiB
20Accepted8ms316 KiB
21Accepted8ms316 KiB
22Accepted8ms316 KiB
23Accepted8ms316 KiB
24Accepted8ms316 KiB
25Accepted8ms316 KiB
26Accepted8ms316 KiB
27Accepted8ms316 KiB
28Accepted8ms512 KiB
29Accepted8ms316 KiB
subtask512/12
30Accepted8ms316 KiB
31Accepted8ms316 KiB
32Accepted8ms316 KiB
33Accepted8ms316 KiB
34Accepted8ms316 KiB
35Accepted8ms316 KiB
36Accepted8ms316 KiB
37Accepted8ms316 KiB
38Accepted8ms316 KiB
39Accepted8ms316 KiB
40Accepted8ms316 KiB
41Accepted8ms316 KiB
42Accepted8ms316 KiB
43Accepted8ms512 KiB
44Accepted8ms316 KiB
45Accepted43ms508 KiB
46Accepted37ms316 KiB
47Accepted41ms500 KiB
48Accepted43ms316 KiB
49Accepted41ms316 KiB
50Accepted39ms316 KiB
51Accepted41ms316 KiB
52Accepted39ms544 KiB
53Accepted39ms316 KiB
54Accepted39ms316 KiB
55Accepted41ms316 KiB
56Accepted39ms316 KiB
57Accepted39ms536 KiB
58Accepted39ms336 KiB
59Accepted41ms316 KiB
subtask651.13/65
60Accepted1ms320 KiB
61Accepted759ms648 KiB
62Accepted781ms564 KiB
63Accepted796ms824 KiB
64Accepted683ms412 KiB
65Accepted690ms316 KiB
66Accepted768ms316 KiB
67Accepted2ms316 KiB
68Accepted2ms316 KiB
69Accepted2ms316 KiB
70Accepted2ms316 KiB
71Accepted2ms508 KiB
72Accepted27ms316 KiB
73Accepted27ms316 KiB
74Accepted8ms316 KiB
75Accepted8ms316 KiB
76Accepted8ms316 KiB
77Accepted8ms316 KiB
78Accepted8ms316 KiB
79Accepted8ms316 KiB
80Accepted8ms316 KiB
81Accepted8ms316 KiB
82Accepted8ms316 KiB
83Accepted8ms316 KiB
84Accepted8ms316 KiB
85Accepted8ms316 KiB
86Accepted8ms316 KiB
87Accepted8ms512 KiB
88Accepted8ms316 KiB
89Accepted43ms508 KiB
90Accepted37ms316 KiB
91Accepted41ms500 KiB
92Accepted43ms316 KiB
93Accepted41ms316 KiB
94Accepted39ms316 KiB
95Accepted41ms316 KiB
96Accepted39ms544 KiB
97Accepted39ms316 KiB
98Accepted39ms316 KiB
99Accepted41ms316 KiB
100Accepted39ms316 KiB
101Accepted39ms536 KiB
102Accepted39ms336 KiB
103Accepted41ms316 KiB
104Partially correct723ms508 KiB
105Partially correct742ms404 KiB
106Partially correct751ms568 KiB
107Partially correct728ms564 KiB
108Partially correct722ms424 KiB
109Partially correct731ms564 KiB
110Partially correct726ms408 KiB
111Accepted726ms820 KiB
112Accepted728ms500 KiB
113Accepted740ms416 KiB
114Partially correct736ms408 KiB
115Partially correct722ms428 KiB
116Partially correct745ms500 KiB
117Partially correct728ms412 KiB
118Partially correct730ms412 KiB
119Partially correct742ms316 KiB
120Partially correct740ms760 KiB
121Partially correct777ms420 KiB
122Partially correct753ms656 KiB
123Partially correct726ms564 KiB
124Partially correct718ms408 KiB
125Partially correct716ms404 KiB
126Partially correct723ms420 KiB
127Partially correct739ms564 KiB
128Partially correct723ms408 KiB
129Partially correct727ms412 KiB
130Partially correct763ms408 KiB
131Partially correct773ms564 KiB
132Partially correct771ms868 KiB