Submission #372670

#TimeUsernameProblemLanguageResultExecution timeMemory
372670two_sides산악 구조대 (JOI13_mountain)C++17
0 / 100
8 ms492 KiB
#include <bits/stdc++.h> #include "grader.h" using namespace std; void Rescue(int r, int c, int rs, int cs, int x) { int lim = max({rs + cs - 2, rs - 1 + c - cs, r - rs + cs - 1, r - rs + c - cs}); auto getRand = [&](int d) { if (d < 0) return INT_MAX; if (d > lim) return INT_MIN; for (int i = 1; i <= r; i++) for (int j = 1; j <= c; j++) if (abs(i - rs) + abs(j - cs) == d) return Measure(i, j); }; int lo = 0, hi = lim, curd; while (lo <= hi) { int mi = (lo + hi) / 2; int lef = getRand(mi - 1); int rig = getRand(mi + 1); if (x >= lef) hi = mi - 1; else if (x <= rig) lo = mi + 1; else { curd = mi; break; } } int ma = INT_MIN; for (int i = 1; i <= r; i++) for (int j = 1; j <= c; j++) if (abs(i - rs) + abs(j - rs) == curd) { int val = Measure(i, j); if (val == x) { Pinpoint(i, j); return; } ma = max(ma, val); } if (ma < x) curd--; else curd++; for (int i = 1; i <= r; i++) for (int j = 1; j <= c; j++) if (abs(i - rs) + abs(j - rs) == curd) { int val = Measure(i, j); if (val == x) { Pinpoint(i, j); return; } } }

Compilation message (stderr)

mountain.cpp: In lambda function:
mountain.cpp:16:5: warning: control reaches end of non-void function [-Wreturn-type]
   16 |     };
      |     ^
mountain.cpp: In function 'void Rescue(int, int, int, int, int)':
mountain.cpp:38:34: warning: 'curd' may be used uninitialized in this function [-Wmaybe-uninitialized]
   38 |     if (ma < x) curd--; else curd++;
      |                              ~~~~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...