Submission #497705

#TimeUsernameProblemLanguageResultExecution timeMemory
497705LittleCubeWorm Worries (BOI18_worm)C++14
10 / 100
1 ms328 KiB
#include <stdio.h> #include <stdlib.h> int arr[1000005]; int query(int x, int y, int z) { if (arr[x] == 0) { printf("? %d %d %d\n", x, y, z); fflush(stdout); int ans = -1; (void)scanf("%d", &ans); if (ans == -1) exit(0); arr[x] = ans; } return arr[x]; } __attribute__((noreturn)) void guess(int x, int y, int z) { printf("! %d %d %d\n", x, y, z); exit(0); } int main() { int N, M, K, Q; (void)scanf("%d %d %d %d", &N, &M, &K, &Q); if (M == 1 && K == 1) { int L = 1, R = N; while (L < R) { int mid = (L + R) / 2; int lans = query(mid, 1, 1), rans = query(mid + 1, 1, 1); if (lans <= rans) L = mid + 1; else R = mid; } guess(L, 1, 1); } } // 1 4 6 3 7 | 2 9 8 5 19 | 4 3

Compilation message (stderr)

worm.cpp: In function 'int query(int, int, int)':
worm.cpp:13:20: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   13 |         (void)scanf("%d", &ans);
      |               ~~~~~^~~~~~~~~~~~
worm.cpp: In function 'int main()':
worm.cpp:30:16: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   30 |     (void)scanf("%d %d %d %d", &N, &M, &K, &Q);
      |           ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...