164632025-05-02 10:24:43szilKutyák és macskákcpp17Részben helyes 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms564 KiB
2Elfogadva732ms564 KiB
subtask26/6
3Elfogadva781ms564 KiB
4Elfogadva796ms824 KiB
5Elfogadva683ms412 KiB
6Elfogadva690ms316 KiB
7Elfogadva768ms316 KiB
subtask37/7
8Elfogadva2ms316 KiB
9Elfogadva2ms316 KiB
10Elfogadva2ms316 KiB
11Elfogadva2ms316 KiB
12Elfogadva2ms508 KiB
13Elfogadva27ms316 KiB
14Elfogadva27ms316 KiB
subtask410/10
15Elfogadva8ms316 KiB
16Elfogadva8ms316 KiB
17Elfogadva8ms316 KiB
18Elfogadva8ms316 KiB
19Elfogadva8ms316 KiB
20Elfogadva8ms316 KiB
21Elfogadva8ms316 KiB
22Elfogadva8ms316 KiB
23Elfogadva8ms316 KiB
24Elfogadva8ms316 KiB
25Elfogadva8ms316 KiB
26Elfogadva8ms316 KiB
27Elfogadva8ms316 KiB
28Elfogadva8ms512 KiB
29Elfogadva8ms316 KiB
subtask512/12
30Elfogadva8ms316 KiB
31Elfogadva8ms316 KiB
32Elfogadva8ms316 KiB
33Elfogadva8ms316 KiB
34Elfogadva8ms316 KiB
35Elfogadva8ms316 KiB
36Elfogadva8ms316 KiB
37Elfogadva8ms316 KiB
38Elfogadva8ms316 KiB
39Elfogadva8ms316 KiB
40Elfogadva8ms316 KiB
41Elfogadva8ms316 KiB
42Elfogadva8ms316 KiB
43Elfogadva8ms512 KiB
44Elfogadva8ms316 KiB
45Elfogadva43ms508 KiB
46Elfogadva37ms316 KiB
47Elfogadva41ms500 KiB
48Elfogadva43ms316 KiB
49Elfogadva41ms316 KiB
50Elfogadva39ms316 KiB
51Elfogadva41ms316 KiB
52Elfogadva39ms544 KiB
53Elfogadva39ms316 KiB
54Elfogadva39ms316 KiB
55Elfogadva41ms316 KiB
56Elfogadva39ms316 KiB
57Elfogadva39ms536 KiB
58Elfogadva39ms336 KiB
59Elfogadva41ms316 KiB
subtask651.13/65
60Elfogadva1ms320 KiB
61Elfogadva759ms648 KiB
62Elfogadva781ms564 KiB
63Elfogadva796ms824 KiB
64Elfogadva683ms412 KiB
65Elfogadva690ms316 KiB
66Elfogadva768ms316 KiB
67Elfogadva2ms316 KiB
68Elfogadva2ms316 KiB
69Elfogadva2ms316 KiB
70Elfogadva2ms316 KiB
71Elfogadva2ms508 KiB
72Elfogadva27ms316 KiB
73Elfogadva27ms316 KiB
74Elfogadva8ms316 KiB
75Elfogadva8ms316 KiB
76Elfogadva8ms316 KiB
77Elfogadva8ms316 KiB
78Elfogadva8ms316 KiB
79Elfogadva8ms316 KiB
80Elfogadva8ms316 KiB
81Elfogadva8ms316 KiB
82Elfogadva8ms316 KiB
83Elfogadva8ms316 KiB
84Elfogadva8ms316 KiB
85Elfogadva8ms316 KiB
86Elfogadva8ms316 KiB
87Elfogadva8ms512 KiB
88Elfogadva8ms316 KiB
89Elfogadva43ms508 KiB
90Elfogadva37ms316 KiB
91Elfogadva41ms500 KiB
92Elfogadva43ms316 KiB
93Elfogadva41ms316 KiB
94Elfogadva39ms316 KiB
95Elfogadva41ms316 KiB
96Elfogadva39ms544 KiB
97Elfogadva39ms316 KiB
98Elfogadva39ms316 KiB
99Elfogadva41ms316 KiB
100Elfogadva39ms316 KiB
101Elfogadva39ms536 KiB
102Elfogadva39ms336 KiB
103Elfogadva41ms316 KiB
104Részben helyes723ms508 KiB
105Részben helyes742ms404 KiB
106Részben helyes751ms568 KiB
107Részben helyes728ms564 KiB
108Részben helyes722ms424 KiB
109Részben helyes731ms564 KiB
110Részben helyes726ms408 KiB
111Elfogadva726ms820 KiB
112Elfogadva728ms500 KiB
113Elfogadva740ms416 KiB
114Részben helyes736ms408 KiB
115Részben helyes722ms428 KiB
116Részben helyes745ms500 KiB
117Részben helyes728ms412 KiB
118Részben helyes730ms412 KiB
119Részben helyes742ms316 KiB
120Részben helyes740ms760 KiB
121Részben helyes777ms420 KiB
122Részben helyes753ms656 KiB
123Részben helyes726ms564 KiB
124Részben helyes718ms408 KiB
125Részben helyes716ms404 KiB
126Részben helyes723ms420 KiB
127Részben helyes739ms564 KiB
128Részben helyes723ms408 KiB
129Részben helyes727ms412 KiB
130Részben helyes763ms408 KiB
131Részben helyes773ms564 KiB
132Részben helyes771ms868 KiB