Submission #71962

# Submission time Handle Problem Language Result Execution time Memory
71962 2018-08-26T04:12:28 Z IDxTree(#2155, TAMREF, imeimi2000, Diuven) Magic Dowsing (FXCUP3_magic) C++17
100 / 100
3 ms 380 KB
#include "dowsing.h"
#include <vector>
#include <set>

using namespace std;

void FindTreasure(int N) {
    vector<int> v;
    set<int> mp;
    for (int i = 1; i <= N; ++i) {
        if (Detect(i, i)) v.push_back(i);
        else mp.insert(i);
    }
    if (v.empty()) {
        for (int i = 1; i <= N - 2; i += 2) {
            if (Detect(i, i + 1)) {
                if (Detect(i, i + 2)) Report(i, i);
                else Report(i + 1, i + 1);
                return;
            }
        }
        if ((N & 1) || Detect(1, N)) Report(N, N);
        else Report(N - 1, N - 1);
    }
    else {
        int x = *mp.begin();
        if (Detect(x, v[0])) Report(v[1], v[0]);
        else Report(v[0], v[1]);
    }
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Correct : C = 5
2 Correct 2 ms 376 KB Correct : C = 4
3 Correct 3 ms 376 KB Correct : C = 149
4 Correct 3 ms 380 KB Correct : C = 100
5 Correct 3 ms 376 KB Correct : C = 150
6 Correct 3 ms 376 KB Correct : C = 101
7 Correct 3 ms 376 KB Correct : C = 149
8 Correct 3 ms 376 KB Correct : C = 150
9 Correct 3 ms 376 KB Correct : C = 150
10 Correct 3 ms 376 KB Correct : C = 150
11 Correct 3 ms 376 KB Correct : C = 150
12 Correct 3 ms 376 KB Correct : C = 149