Submission #540760

# Submission time Handle Problem Language Result Execution time Memory
540760 2022-03-21T16:54:50 Z amin Secret (JOI14_secret) C++14
0 / 100
526 ms 12584 KB
#include "secret.h"
#include<bits/stdc++.h>
using namespace std;



long n;
long u;
long a[130000];
map<pair<long,long>,long>m;
void build(long v,long tl,long tr)
{
 if(tl==tr)
 {
     return ;
 }
    long tm=(tl+tr)/2;
    long ans=tm;
    for(long i=tm-1;i>=tl;i++)
    {
        ans=Secret(ans,a[i]);
        m[{tl,i}]=ans;
    }
    ans=a[tm+1];
     for(long i=tm+2;i<=tr;i++)
    {
        ans=Secret(ans,a[i]);

        m[{i,tr}]=ans;
    }
    build(v*2,tl,tm);
    build(v*2+1,tm+1,tr);

}
long get(long v,long tl,long tr,long l,long r)
{
    long tm=(tl+tr)/2;
    if(r<=tm)
    {
       return get(v*2,tl,tm,l,r);
    }
    if(l>tm)
    {
        return get(v*2+1,tm+1,tr,l,r);
    }
    long ans=Secret(m[{l,tm}],m[{tm+1,r}]);
    return ans;
}
void Init(int N, int A[]) {

  n=N;
  for(long i=0;i<N;i++)
  {
      a[i]=A[i+1];
      m[{a[i],a[i]}]=a[i];
  }
  build(1,0,n-1);
}

int Query(int L, int R) {
    if(L==R)
    {
        return a[L-1];

    }
    return get(1,0,n-1,L-1,R-1);
  return 0;
}
# Verdict Execution time Memory Grader output
1 Incorrect 181 ms 10428 KB Wrong Answer [1]
2 Incorrect 196 ms 10548 KB Wrong Answer [1]
3 Incorrect 187 ms 10576 KB Wrong Answer [1]
4 Incorrect 516 ms 12584 KB Wrong Answer [1]
5 Incorrect 526 ms 12564 KB Wrong Answer [1]
6 Incorrect 517 ms 12564 KB Wrong Answer [1]
7 Incorrect 520 ms 12376 KB Wrong Answer [1]
8 Incorrect 515 ms 12416 KB Wrong Answer [1]
9 Incorrect 520 ms 12484 KB Wrong Answer [1]
10 Incorrect 504 ms 12360 KB Wrong Answer [1]