Submission #293358

#TimeUsernameProblemLanguageResultExecution timeMemory
293358XmtosXSecret (JOI14_secret)C++17
0 / 100
514 ms8440 KiB
#include <bits/stdc++.h>; #include "secret.h" using namespace std; #define LL pos*2+1 #define RR pos*2+2 const int NN=1e3+3; int a[NN],n,ans[NN][NN],l,r; void solve(int st,int en) { if (st>en) return; int mid=(st+en)/2; ans[mid][mid]=a[mid]; ans[mid+1][mid+1]=a[mid+1]; for (int i=mid+2;i<=en;i++) ans[mid+1][i]=Secret(ans[mid+1][i-1],a[i]); for (int i=mid-1;i>=st;i--) ans[i][mid]=Secret(a[i],ans[i+1][mid]); solve(st,mid-1); solve(mid+1,en); } int query(int st,int en) { int mid=(st+en)/2; if (mid>r) return query(st,mid-1); if (mid<l) return query(mid+1,en); return Secret(ans[l][mid],ans[mid+1][r]); } void Init(int N, int A[]) { n=N; for (int i=0;i<n;i++) a[i]=A[i]; solve(0,n-1); } int Query(int L, int R) { l=L; r=R; if (l==r) return a[l]; if (l+1==r) return Secret(a[l],a[r]); return query(0,n-1); } /* 8 1 4 7 2 5 8 3 6 4 0 3 1 7 5 5 2 4 */

Compilation message (stderr)

secret.cpp:1:25: warning: extra tokens at end of #include directive
    1 | #include <bits/stdc++.h>;
      |                         ^
#Verdict Execution timeMemoryGrader output
Fetching results...