Submission #70305

#TimeUsernameProblemLanguageResultExecution timeMemory
70305MladenPSecret (JOI14_secret)C++17
0 / 100
705 ms8568 KiB
#include "secret.h" #define m (l+r)/2 #define I int #define G return #define S Secret I n,i,a[1010],d[1010][1010];void Z(I l,I r){if(l>=r)G;for(i=m+1;i <= r;i++)d[m][i]=S(d[m][i-1],a[i]);for(i=m-2;i>=l;i--)d[i][m-1]=S(a[i],d[i+1][m-1]);Z(l,m-1);Z(m+1,r);}I X(I l,I r,I L,I R){if(m<L)G X(m+1,r,L,R);if(L==m)G d[m][R];if(m<R)G S(d[L][m-1],d[m][R]);G X(l,m-1,L,R);}void Init(I N, I *A){for(i=0,n=N-1;i<N;i++)a[i]=A[i],d[i][i]=a[i];Z(0,n);}I Query(I L,I R){G X(0,n,L,R);}
#Verdict Execution timeMemoryGrader output
Fetching results...