Submission #72251

#TimeUsernameProblemLanguageResultExecution timeMemory
72251비타500 (#118)Magic Dowsing (FXCUP3_magic)C++17
100 / 100
3 ms380 KiB
#include "dowsing.h" #include <algorithm> #include <stdio.h> void FindTreasure(int N) { bool firstCheck = false; int ff = 0, ss = 0; for (int i = 1; i <= N; i++) { if (Detect(i, i)) { if (!firstCheck) { ff = i; firstCheck = true; } else { ss = i; break; } } } if (firstCheck == false) { for (int i = 1; i <= (N - 1) / 2; i++) { if (Detect(i, N - i + 1)) { int alpha = 1; if (alpha + i == N - i + 1) { alpha += 1; } if (Detect(i, i + alpha)) { Report(i, i); return; } else { Report(N - i + 1, N - i + 1); return; } } } if(Detect((N + 1) / 2, (N + 1) / 2 - 1)) { Report((N + 1) / 2, (N + 1) / 2); } else { Report((N + 1) / 2 + 1, (N + 1)/ 2 + 1); } return; } if (ff > ss) { std::swap(ff, ss); } // ff < ss int alpha = 1 + (ff + 1 == ss); if (ff + alpha > N) { alpha = -1; } if (Detect(ff + alpha, ss)){ Report(ff, ss); } else { Report(ss, ff); } }
#Verdict Execution timeMemoryGrader output
Fetching results...