Submission #491145

#TimeUsernameProblemLanguageResultExecution timeMemory
491145rainboyZagrade (COI20_zagrade)C11
100 / 100
1010 ms828 KiB
#include <stdio.h> #define N 100000 int query(int i, int j) { int x; printf("? %d %d\n", i + 1, j + 1), fflush(stdout); scanf("%d", &x); return x; } int main() { static int qu[N]; static char cc[N + 1]; int n, h, i, cnt; scanf("%d%*d", &n); cnt = 0; for (i = 0; i < n; i++) if (cnt == 0 || !query(qu[cnt - 1], i)) qu[cnt++] = i; else cc[qu[--cnt]] = '(', cc[i] = ')'; for (h = 0; h < cnt; h++) cc[qu[h]] = h * 2 < cnt ? ')' : '('; printf("! %s\n", cc), fflush(stdout); return 0; }

Compilation message (stderr)

zagrade.c: In function 'query':
zagrade.c:9:2: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
    9 |  scanf("%d", &x);
      |  ^~~~~~~~~~~~~~~
zagrade.c: In function 'main':
zagrade.c:18:2: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   18 |  scanf("%d%*d", &n);
      |  ^~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...