Submission #76389

#TimeUsernameProblemLanguageResultExecution timeMemory
76389MiricaMateiSecret (JOI14_secret)C++14
100 / 100
623 ms8548 KiB
#include "secret.h" int v[1005][1005]; void solve(int l, int r) { if (l >= r) return ; int med = (l + r) / 2; solve(l, med); solve(med + 1, r); for (int i = med - 1; i >= l; --i) v[i][med] = Secret(v[i][i], v[i + 1][med]); for (int i = med + 2; i <= r; ++i) v[med + 1][i] = Secret(v[med + 1][i - 1], v[i][i]); } void Init(int N, int A[]) { for (int i = 0; i < N; ++i) for (int j = 0; j < N; ++j) v[i][j] = -1; for (int i = 0; i < N; ++i) v[i][i] = A[i]; solve(0, N - 1); } int Query(int L, int R) { if (v[L][R] != -1) return v[L][R]; if (R == L + 1) return Secret(v[L][L], v[R][R]); for (int k = L; k < R; ++k) if (v[L][k] != -1 && v[k + 1][R] != -1) return Secret(v[L][k], v[k + 1][R]); }

Compilation message (stderr)

secret.cpp: In function 'int Query(int, int)':
secret.cpp:34:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
#Verdict Execution timeMemoryGrader output
Fetching results...