171442025-05-24 19:56:00tomi7Háromszögeléscpp17Hibás válasz 0/1003ms820 KiB
#include <bits/stdc++.h>
#include <vector>
#include <algorithm>

extern int query(int x, int y);

int solve(int n) {
    std::vector<std::array<int, 3>> diagonals;

    for (int i = 0; i < n; ++i) {
        for (int j = i + 1; j < n; ++j) {
            // kihagyjuk a szomszédos vagy azonos csúcsokat (nem átlók)
            if ((j - i + n) % n == 1 || (i - j + n) % n == 1 || i == j)
                continue;

            // távolság 0 csúcstól
            int left = std::min((i - 0 + n) % n, (j - 0 + n) % n);
            int right = std::min((0 - i + n) % n, (0 - j + n) % n);
            int d = std::max(left, right);

            diagonals.push_back({d, i, j});
        }
    }

    // növekvő távolság szerint rendezés
    std::sort(diagonals.begin(), diagonals.end());

    // lekérdezés legközelebbi átlóktól kezdve
    for (const auto& tup : diagonals) {
        int i = std::get<1>(tup);
        int j = std::get<2>(tup);
        if (query(i, j)) {
            return i * n + j;
        }
    }

    return -1; // elméletileg nem fordulhat elő, mindig van legalább 1 átló
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/100
1Hibás válasz1ms316 KiB
2Elfogadva1ms316 KiB
3Hibás válasz1ms316 KiB
4Hibás válasz1ms316 KiB
5Hibás válasz1ms316 KiB
6Hibás válasz1ms508 KiB
7Elfogadva3ms508 KiB
8Hibás válasz2ms564 KiB
9Hibás válasz2ms564 KiB
10Hibás válasz2ms316 KiB
11Hibás válasz2ms564 KiB
12Hibás válasz2ms540 KiB
13Hibás válasz2ms316 KiB
14Hibás válasz2ms316 KiB
15Hibás válasz2ms820 KiB
16Hibás válasz2ms656 KiB
17Hibás válasz2ms316 KiB
18Hibás válasz2ms316 KiB
19Hibás válasz2ms316 KiB
20Hibás válasz2ms316 KiB
21Hibás válasz2ms316 KiB
22Hibás válasz2ms316 KiB
23Hibás válasz2ms316 KiB
24Hibás válasz2ms508 KiB
25Hibás válasz2ms316 KiB
26Hibás válasz2ms320 KiB
27Hibás válasz2ms572 KiB
28Hibás válasz2ms316 KiB
29Hibás válasz2ms564 KiB
30Hibás válasz2ms316 KiB
31Hibás válasz1ms316 KiB
32Hibás válasz2ms316 KiB
33Hibás válasz2ms508 KiB
34Hibás válasz2ms564 KiB
35Hibás válasz2ms316 KiB
36Hibás válasz2ms316 KiB
37Hibás válasz2ms316 KiB
38Hibás válasz2ms564 KiB
39Hibás válasz2ms316 KiB
40Hibás válasz2ms316 KiB