Submission #26412

#TimeUsernameProblemLanguageResultExecution timeMemory
26412zscoder비밀 (JOI14_secret)C++14
100 / 100
639 ms9996 KiB
#include "secret.h" #include <bits/stdc++.h> using namespace std; int a[1010][1010]; void gen(int l, int r) { if(r - l < 2) { return ; } int mid = (l+r)/2; for(int i = mid - 1; i >= l; i--) { //cout << i << ' ' << a[i][mid] << endl; if(a[i][mid] == -1) { a[i][mid] = Secret(a[i][i + 1], a[i + 1][mid]); } } for(int i = mid + 1; i <= r; i++) { //cout << i << ' ' << a[mid][i] << endl; if(a[mid][i] == -1) { a[mid][i] = Secret(a[mid][i - 1], a[i - 1][i]); } } gen(l, mid); gen(mid, r); } void Init(int N, int A[]) { memset(a, -1, sizeof(a)); for(int i = 0; i < N; i++) { a[i][i + 1] = A[i]; } gen(0, N); } int Query(int L, int R) { if(a[L][R+1] != -1) return a[L][R+1]; for(int i = L + 1; i <= R; i++) { if(a[L][i] != -1 && a[i][R + 1] != -1) { return Secret(a[L][i], a[i][R + 1]); } } }

Compilation message (stderr)

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