제출 #1179782

#제출 시각아이디문제언어결과실행 시간메모리
1179782paulxaxaSecret (JOI14_secret)C++17
0 / 100
343 ms8276 KiB
#include <bits/stdc++.h> #include "secret.h" #define NMAX 1000 #define LOG 9 #define ll long long int #define BASE 32 #define MOD 998244353 using namespace std; ifstream fin("cod.in"); ofstream fout("cod.out"); int pref[NMAX+1][NMAX+1]; int n; int a[NMAX+1]; void divide(int st,int dr) { int m = (st+dr)/2; pref[m][m] = a[m]; for(int i=m-1;i>=st;i--) { pref[i][m] = Secret(a[i],pref[i+1][m]); } for(int i=m+1;i<=dr;i++) { pref[m][i] = Secret(a[i],pref[m][i-1]); } if(st<m) { divide(st,m); } if(m+1<dr) { divide(m+1,dr); } } void Init(int N,int A[]) { n=N; for(int i=1;i<=n;i++) { a[i] = A[i-1]; } divide(1,N); } int Query(int L,int R) { int st=1; int dr=n; L++; R++; while(st<dr) { int m = (st+dr)/2; if(L<=m && m+1<=R) { return Secret(pref[L][m],pref[m+1][R]); } if(R<=m) { dr=m; } else { st=m+1; } } return pref[st][st]; } //int main() //{ // // //}
#Verdict Execution timeMemoryGrader output
Fetching results...