Submission #949713

# Submission time Handle Problem Language Result Execution time Memory
949713 2024-03-19T15:23:49 Z amirhoseinfar1385 Secret (JOI14_secret) C++17
0 / 100
395 ms 8528 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)/2;
  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 102 ms 6740 KB Wrong Answer: Query(222, 254) - expected : 34031541, actual : 536870912.
2 Incorrect 101 ms 6708 KB Wrong Answer: Query(102, 157) - expected : 32612619, actual : 0.
3 Incorrect 103 ms 6996 KB Wrong Answer: Query(334, 369) - expected : 363022362, actual : 536870912.
4 Incorrect 393 ms 8372 KB Wrong Answer: Query(90, 497) - expected : 397934825, actual : 536870912.
5 Incorrect 374 ms 8384 KB Wrong Answer: Query(263, 292) - expected : 653448456, actual : 347249936.
6 Incorrect 372 ms 8364 KB Wrong Answer: Query(738, 741) - expected : 983692994, actual : 536870912.
7 Correct 382 ms 8528 KB Output is correct - number of calls to Secret by Init = 7476, maximum number of calls to Secret by Query = 1
8 Correct 385 ms 8360 KB Output is correct - number of calls to Secret by Init = 7476, maximum number of calls to Secret by Query = 1
9 Correct 395 ms 8364 KB Output is correct - number of calls to Secret by Init = 7476, maximum number of calls to Secret by Query = 1
10 Correct 384 ms 8276 KB Output is correct - number of calls to Secret by Init = 7476, maximum number of calls to Secret by Query = 1