#include <iostream>
#include "secret.h"
using namespace std;
const int M = 1100;
int seen[M][M], val[M][M];
int Get(int l, int r){
if (seen[l][r])
return val[l][r];
for (int k=l;k<r;k++)
if (seen[l][k] and seen[k+1][r])
return Secret(val[l][k], val[k+1][r]);
}
void count(int l, int r){
if (r - l <= 1)
return;
int mid = (l + r) / 2;
count(l, mid);
count(mid, r);
for (int k=mid-1;k >= l;k--){
if (seen[k][mid - 1] == 0)
val[k][mid - 1] = Get(k, mid - 1), seen[k][mid - 1] = 1;
}
for (int k=mid;k < r;k++){
if (seen[mid][k] == 0)
val[mid][k] = Get(mid, k), seen[mid][k] = 1;
}
}
void Init(int n, int A[]){
for (int i=1;i<=n;i++)
seen[i][i] = 1, val[i][i] = A[i-1];
count(1, n + 1);
}
int Query(int l, int r){
return Get(l + 1, r + 1);
}
컴파일 시 표준 에러 (stderr) 메시지
secret.cpp: In function 'int Get(int, int)':
secret.cpp:14:1: warning: control reaches end of non-void function [-Wreturn-type]
14 | }
| ^| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |