Submission #949733

# Submission time Handle Problem Language Result Execution time Memory
949733 2024-03-19T15:30:41 Z amirhoseinfar1385 Secret (JOI14_secret) C++17
0 / 100
567 ms 8284 KB
#include "secret.h"
#include<bits/stdc++.h>
using namespace std;
const int maxn=1000+10;
int n,all[maxn],dp[maxn][maxn];

int pors(int l,int r){
  if(l==r){
    return all[l];
  }
  return Secret(all[l],dp[l+1][r]);
}

int pors2(int l,int r){
  if(l==r){
    return all[l];
  }
  return Secret(dp[r-1][l-1],all[r]);
}

void create(int l,int r){
  if(l>r){
    return ;
  }
  int m=(l+r)>>1;
  for(int i=m;i>=l;i--){
    dp[i][m]=pors(i,m);
    //cout<<i<<" "<<m<<" "<<dp[i][m]<<"\n";
  }
  for(int i=m+1;i<=r;i++){
    dp[i][m]=pors2(m+1,i);
    //cout<<i<<" "<<m<<" "<<dp[i][m]<<"\n";
  }
  create(m+1,r);
  create(l,m-1);
}

void Init(int N, int A[]) {
  n=N;
  for(int i=0;i<n;i++){
    all[i]=A[i];
  }
  create(0,n-1);
}

int solve(int l,int r,int tl=0,int tr=n-1){
  int m=(tl+tr)>>1;
  if(l>m&&r>m){
    return solve(l,r,m+1,tr);
  }
  if(l<m&&r<m){
    return solve(l,r,l,m-1);
  }
  if(l==m){
    return Secret(all[l],dp[r][m]);
  }
  if(r==m){
    return dp[l][m];
  }
  //cout<<l<<" "<<m<<" "<<r<<" "<<dp[l][m]<<" "<<dp[r][m]<<"\n";
  return Secret(dp[l][m],dp[r][m]);
}
  
int Query(int L, int R) {
  if(L==R){
    return all[L];
  }
  return solve(L,R);
}
# Verdict Execution time Memory Grader output
1 Incorrect 107 ms 6744 KB Wrong Answer: Query(222, 254) - expected : 34031541, actual : 536870912.
2 Incorrect 103 ms 6724 KB Wrong Answer: Query(102, 157) - expected : 32612619, actual : 0.
3 Incorrect 120 ms 6740 KB Wrong Answer: Query(334, 369) - expected : 363022362, actual : 536870912.
4 Incorrect 392 ms 8260 KB Wrong Answer: Query(90, 497) - expected : 397934825, actual : 536870912.
5 Incorrect 484 ms 8280 KB Wrong Answer: Query(263, 292) - expected : 653448456, actual : 347249936.
6 Incorrect 391 ms 8276 KB Wrong Answer: Query(738, 741) - expected : 983692994, actual : 536870912.
7 Correct 416 ms 8276 KB Output is correct - number of calls to Secret by Init = 7476, maximum number of calls to Secret by Query = 1
8 Correct 388 ms 8284 KB Output is correct - number of calls to Secret by Init = 7476, maximum number of calls to Secret by Query = 1
9 Correct 567 ms 8140 KB Output is correct - number of calls to Secret by Init = 7476, maximum number of calls to Secret by Query = 1
10 Correct 392 ms 8276 KB Output is correct - number of calls to Secret by Init = 7476, maximum number of calls to Secret by Query = 1