QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#788359#9669. Function Queryrotcar07AC ✓297ms63960kbC++236.6kb2024-11-27 16:40:432024-11-27 16:40:43

Judging History

你现在查看的是最新测评结果

  • [2024-11-27 16:40:43]
  • 评测
  • 测评结果:AC
  • 用时:297ms
  • 内存:63960kb
  • [2024-11-27 16:40:43]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
struct time_helper{
#ifdef LOCAL
clock_t time_last;time_helper(){time_last=clock();}void test(){auto time_now=clock();std::cerr<<"time:"<<1.*(time_now-time_last)/CLOCKS_PER_SEC<<";all_time:"<<1.*time_now/CLOCKS_PER_SEC<<std::endl;time_last=time_now;}~time_helper(){test();}
#else
void test(){}
#endif
}time_helper;
#ifdef LOCAL
#include"dbg.h"
#else
#define dbg(...) (__VA_ARGS__)
#endif
namespace Fread{const int SIZE=1<<16;char buf[SIZE],*S,*T;inline char getchar(){if(S==T){T=(S=buf)+fread(buf,1,SIZE,stdin);if(S==T)return'\n';}return *S++;}}namespace Fwrite{const int SIZE=1<<16;char buf[SIZE],*S=buf,*T=buf+SIZE;inline void flush(){fwrite(buf,1,S-buf,stdout);S=buf;}inline void putchar(char c){*S++=c;if(S==T)flush();}struct NTR{~NTR(){flush();}}ztr;}
#define getchar Fread::getchar
#define putchar Fwrite::putchar
int print_precision=10;bool print_T_endl=1;char print_between=' ';
template<typename T>struct is_char{static constexpr bool value=(std::is_same<T,char>::value||std::is_same<T,signed char>::value||std::is_same<T,unsigned char>::value);};template<typename T>struct is_integral_ex{static constexpr bool value=(std::is_integral<T>::value||std::is_same<T,__int128>::value)&&!is_char<T>::value;};template<typename T>struct is_floating_point_ex{static constexpr bool value=std::is_floating_point<T>::value||std::is_same<T,__float128>::value;};namespace Fastio{struct Reader;struct Writer;template<size_t id>struct read_tuple{template<typename...T>static void read(Reader&stream,std::tuple<T...>&x){read_tuple<id-1>::read(stream,x);stream>>get<id-1>(x);}};template<>struct read_tuple<0>{template<typename...T>static void read([[maybe_unused]]Reader&stream,[[maybe_unused]]std::tuple<T...>&x){}};template<size_t id>struct print_tuple{template<typename...T>static void print(Writer&stream,const std::tuple<T...>&x){print_tuple<id-1>::print(stream,x);putchar(print_between);stream<<get<id-1>(x);}};template<>struct print_tuple<1>{template<typename...T>static void print(Writer&stream,const std::tuple<T...>&x){stream<<get<0>(x);}};template<>struct print_tuple<0>{template<typename...T>static void print([[maybe_unused]]Writer&stream,[[maybe_unused]]const std::tuple<T...>&x){}};
struct Reader{template<typename T>typename std::enable_if_t<std::is_class<T>::value,Reader&>operator>>(T&x){for(auto &y:x)*this>>y;return *this;}template<typename...T>Reader&operator>>(std::tuple<T...>&x){read_tuple<sizeof...(T)>::read(*this,x);return *this;}template<typename T>typename std::enable_if_t<is_integral_ex<T>::value,Reader&>operator>>(T&x){char c=getchar();short f=1;while(c<'0'||c>'9'){if(c=='-')f*=-1;c=getchar();}x=0;while(c>='0'&&c<='9'){x=(x<<1)+(x<<3)+(c^48);c=getchar();}x*=f;return *this;}template<typename T>typename std::enable_if_t<is_floating_point_ex<T>::value,Reader&>operator>>(T&x){char c=getchar();short f=1,s=0;x=0;T t=0;while((c<'0'||c>'9')&&c!='.'){if(c=='-')f*=-1;c=getchar();}while(c>='0'&&c<='9'&&c!='.')x=x*10+(c^48),c=getchar();if(c=='.')c=getchar();else return x*=f,*this;while(c>='0'&&c<='9')t=t*10+(c^48),s++,c=getchar();while(s--)t/=10.0;x=(x+t)*f;return*this;}template<typename T>typename std::enable_if_t<is_char<T>::value,Reader&>operator>>(T&c){c=getchar();while(c=='\n'||c==' '||c=='\r')c=getchar();return *this;}Reader&operator>>(char*str){int len=0;char c=getchar();while(c=='\n'||c==' '||c=='\r')c=getchar();while(c!='\n'&&c!=' '&&c!='\r')str[len++]=c,c=getchar();str[len]='\0';return*this;}template<typename T1,typename T2>Reader&operator>>(std::pair<T1,T2>&x){*this>>x.first>>x.second;return *this;}Reader&operator>>(std::string&str){str.clear();char c=getchar();while(c=='\n'||c==' '||c=='\r')c=getchar();while(c!='\n'&&c!=' '&&c!='\r')str.push_back(c),c=getchar();return*this;}Reader(){}}cin;const char endl='\n';
struct Writer{typedef __int128 mxdouble;template<typename T>typename std::enable_if_t<std::is_class<T>::value,Writer&>operator<<(const T&x){for(auto q:x){*this<<q;if(!is_class<decltype(q)>::value)*this<<print_between;}if(!is_class<typename T::value_type>::value&&print_T_endl)*this<<'\n';return *this;}template<typename...T>Writer&operator<<(const std::tuple<T...>&x){print_tuple<sizeof...(T)>::print(*this,x);if(print_T_endl)*this<<'\n';return *this;}template<typename T>typename std::enable_if_t<is_integral_ex<T>::value,Writer&>operator<<(T x){if(x==0)return putchar('0'),*this;if(x<0)putchar('-'),x=-x;static int sta[45];int top=0;while(x)sta[++top]=x%10,x/=10;while(top)putchar(sta[top]+'0'),--top;return*this;}template<typename T>typename std::enable_if_t<is_floating_point_ex<T>::value,Writer&>operator<<(T x){if(x<0)putchar('-'),x=-x;x+=pow(10,-print_precision)/2;mxdouble _=x;x-=(T)_;static int sta[45];int top=0;while(_)sta[++top]=_%10,_/=10;if(!top)putchar('0');while(top)putchar(sta[top]+'0'),--top;putchar('.');for(int i=0;i<print_precision;i++)x*=10;_=x;while(_)sta[++top]=_%10,_/=10;for(int i=0;i<print_precision-top;i++)putchar('0');while(top)putchar(sta[top]+'0'),--top;return*this;}template<typename T>typename std::enable_if_t<is_char<T>::value,Writer&>operator<<(const T&c){putchar(c);return*this;}Writer&operator<<(char*str){int cur=0;while(str[cur])putchar(str[cur++]);return *this;}Writer&operator<<(const char*str){int cur=0;while(str[cur])putchar(str[cur++]);return*this;}template<typename T1,typename T2>Writer&operator<<(const std::pair<T1,T2>&x){*this<<x.first<<print_between<<x.second;if(print_T_endl)*this<<'\n';return *this;}Writer&operator<<(const std::string&str){int st=0,ed=str.size();while(st<ed)putchar(str[st++]);return*this;}Writer(){}}cout;}
#define cin Fastio::cin
#define cout Fastio::cout
#define endl Fastio::endl

constexpr int maxn=3e5+5;
int n,q,a[maxn];
int ch[maxn*30][2],tot=1;
int id[maxn*30];
int main(){
    cin>>n>>q;
    unordered_map<int,int> mp;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        int p=1;
        for(int j=29;j>=0;j--){
            int&c=ch[p][a[i]>>j&1];
            if(!c) c=++tot;
            p=c;
        }id[p]=i;
        mp[a[i]]=i;
    }
    while(q--){
        int A,B;cin>>A>>B;
        if(mp.count(B^A)){
            int w=mp[B^A];
            cout<<w-(w==n)<<'\n';
            continue;
        }
        auto f=[&](int x){return (a[x]^A)<=B;};
        auto get=[&](int A){
            int p=1;
            for(int i=29;i>=0;i--){
                int x=(A>>i&1);
                p=ch[p][x^1]?:ch[p][x];
            }
            return id[p];
        };
        int l=1,r=n;
        if(f(l)==f(r)) r=get(f(l)?A:~A);
        if(f(l)==f(r)){cout<<"-1\n";continue;}
        while(l+1<r){
            int mid=l+r>>1;
            if(f(mid)==f(l)) l=mid;
            else r=mid;
        }
        cout<<l<<'\n';
    }
}

这程序好像有点Bug,我给组数据试试?

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 3508kb

input:

5 6
3 5 1 2 4
0 2
1 1
2 3
3 2
4 2
5 8

output:

4
2
3
3
4
-1

result:

ok ok

Test #2:

score: 0
Accepted
time: 0ms
memory: 5896kb

input:

2 1
3 3
0 3

output:

1

result:

ok ok

Test #3:

score: 0
Accepted
time: 27ms
memory: 6224kb

input:

300000 300000
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

output:

89695
209610
119478
149700
119478
269763
59791
89695
119478
209610
179614
299999
239765
89695
-1
59791
269763
179614
179614
209610
209610
209610
209610
119478
239765
299999
89695
179614
89695
269763
239765
209610
59791
89695
299999
59791
149700
89695
179614
59791
59791
209610
89695
59791
179614
1796...

result:

ok ok

Test #4:

score: 0
Accepted
time: 24ms
memory: 6472kb

input:

300000 300000
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

output:

90063
59824
269973
149876
299999
120024
239818
149876
29872
149876
149876
59824
209816
239818
120024
120024
90063
59824
239818
149876
90063
239818
120024
179677
209816
90063
29872
179677
149876
179677
90063
299999
239818
209816
29872
149876
269973
179677
209816
59824
269973
59824
179677
179677
14987...

result:

ok ok

Test #5:

score: 0
Accepted
time: 29ms
memory: 6888kb

input:

299999 300000
999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999...

output:

59912
89929
239680
149833
59912
149833
269781
59912
30018
179888
269781
59912
209643
269781
149833
119893
209643
179888
209643
-1
269781
119893
89929
59912
269781
89929
59912
209643
89929
30018
269781
119893
59912
59912
59912
59912
269781
269781
89929
239680
269781
59912
30018
209643
59912
59912
599...

result:

ok ok

Test #6:

score: 0
Accepted
time: 31ms
memory: 5960kb

input:

299999 300000
999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999990 999999...

output:

179553
239884
59597
59597
209808
269967
269967
59597
209808
59597
59597
269967
269967
179553
239884
239884
89750
89750
149501
59597
179553
269967
59597
59597
269967
269967
209808
269967
59597
269967
59597
89750
59597
269967
179553
119571
269967
149501
59597
89750
269967
29668
269967
149501
59597
595...

result:

ok ok

Test #7:

score: 0
Accepted
time: 45ms
memory: 6644kb

input:

300000 300000
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 ...

output:

62885
138222
-1
153067
153067
71992
-1
233864
62885
-1
-1
108288
153067
153067
-1
153067
-1
50934
-1
-1
153067
62885
153067
153067
153067
-1
171094
-1
-1
11995
-1
-1
30177
-1
39023
153067
-1
62885
210256
233864
290975
-1
62885
-1
-1
114235
-1
50934
-1
153067
-1
62885
62885
-1
-1
62885
-1
257912
-1
-...

result:

ok ok

Test #8:

score: 0
Accepted
time: 33ms
memory: 6580kb

input:

300000 300000
9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 ...

output:

153157
-1
-1
-1
-1
80636
281910
-1
201058
135013
-1
65745
245980
-1
2965
-1
-1
-1
17964
-1
195073
-1
195073
-1
201058
-1
-1
177103
269817
-1
71754
219008
-1
248865
-1
27020
147070
-1
86719
227993
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
80636
-1
-1
-1
-1
281910
180088
17964
123018
201058
-1
-1
86719
-1
2398...

result:

ok ok

Test #9:

score: 0
Accepted
time: 63ms
memory: 6796kb

input:

299999 300000
4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 4583175 458317...

output:

158339
158339
71398
158339
89629
11811
71398
158339
176520
44602
254981
158339
71398
197572
158339
158339
44602
254981
158339
80638
71398
14830
158339
197572
158339
158339
254981
71398
158339
288007
71398
-1
44602
254981
288007
71398
158339
224648
104451
116432
161432
158339
44602
158339
197572
8962...

result:

ok ok

Test #10:

score: 0
Accepted
time: 70ms
memory: 5760kb

input:

300000 300000
788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806 788806...

output:

167793
167793
92835
56877
167793
258008
167793
156030
258008
218910
92835
167793
138187
167793
167793
167793
167793
167793
258008
138187
167793
126151
258008
167793
167793
92835
44865
167793
167793
92835
203749
185730
167793
167793
248950
92835
185730
258008
92835
288039
-1
47858
138187
-1
167793
28...

result:

ok ok

Test #11:

score: 0
Accepted
time: 40ms
memory: 4912kb

input:

299999 300000
963355592 963355592 963355592 963355592 963355592 963355592 963355592 963355592 963355592 963355592 963355592 963355592 963355592 963355592 963355592 963355592 963355592 963355592 963355592 963355592 963355592 963355592 963355592 963355592 963355592 963355592 963355592 963355592 963355...

output:

299998
-1
-1
-1
299998
299998
-1
-1
299998
299998
299998
-1
299998
299998
299998
299998
299998
299998
-1
-1
299998
299998
-1
-1
299998
299998
299998
299998
-1
299998
-1
-1
-1
-1
-1
299998
-1
-1
-1
-1
299998
-1
299998
-1
299998
299998
299998
299998
-1
-1
299998
-1
-1
299998
299998
299998
299998
-1
29...

result:

ok ok

Test #12:

score: 0
Accepted
time: 33ms
memory: 6496kb

input:

300000 300000
231122736 231122736 231122736 231122736 231122736 231122736 231122736 231122736 231122736 231122736 231122736 231122736 231122736 231122736 231122736 231122736 231122736 231122736 231122736 231122736 231122736 231122736 231122736 231122736 231122736 231122736 231122736 231122736 231122...

output:

299999
-1
299999
299999
-1
-1
-1
299999
-1
299999
299999
299999
299999
299999
299999
299999
299999
299999
-1
-1
299999
-1
-1
299999
-1
299999
299999
299999
299999
299999
299999
-1
-1
299999
299999
-1
-1
299999
299999
-1
-1
299999
299999
299999
-1
299999
-1
-1
299999
299999
-1
-1
-1
299999
-1
299999
...

result:

ok ok

Test #13:

score: 0
Accepted
time: 23ms
memory: 5780kb

input:

300000 300000
2 1 3 5 0 3 3 2 2 4 1 4 1 4 0 0 1 3 0 1 2 5 1 5 1 5 1 3 0 1 0 2 5 1 1 3 1 3 0 2 5 5 5 0 5 4 5 5 5 2 0 5 0 4 3 0 2 5 3 1 4 1 4 1 1 2 3 4 3 5 0 0 4 2 0 1 5 1 0 1 5 0 3 5 4 0 0 4 1 4 4 1 4 2 3 1 2 5 5 2 0 2 5 1 2 2 5 0 4 1 5 4 0 1 3 3 3 4 1 2 3 1 4 4 2 3 0 1 3 3 1 3 3 4 5 1 4 3 1 3 1 4 0 ...

output:

299999
-1
-1
299999
-1
-1
299985
74513
175707
299996
299998
175707
299998
74513
299996
74513
-1
299985
299985
299993
299996
299999
-1
299996
-1
299999
299999
-1
-1
299993
-1
175707
-1
175707
299999
-1
175707
-1
299999
-1
299996
-1
299999
-1
-1
299993
-1
-1
299999
299999
-1
-1
299996
299999
299985
29...

result:

ok ok

Test #14:

score: 0
Accepted
time: 33ms
memory: 6236kb

input:

300000 300000
3 3 5 4 1 5 4 4 4 5 4 5 1 4 5 3 2 3 3 4 2 2 1 5 1 4 2 1 5 3 1 1 2 2 3 1 5 5 4 5 4 3 3 1 4 5 2 3 2 4 5 1 4 4 4 4 2 1 5 1 3 4 1 5 4 4 5 4 5 3 2 4 1 5 3 3 5 1 3 1 2 4 2 3 2 2 5 4 5 4 4 1 3 1 3 1 5 1 5 5 3 5 3 5 3 3 4 5 1 5 5 3 5 5 3 4 4 2 2 3 2 2 1 2 2 3 1 4 3 1 4 3 4 2 4 2 4 2 3 4 3 5 2 ...

output:

-1
299996
299998
-1
299999
142677
-1
-1
-1
-1
116900
116900
-1
-1
-1
299999
299998
299999
-1
299998
-1
299999
299998
-1
-1
-1
299998
299999
299999
299999
-1
299996
299999
-1
142677
142677
299998
-1
299996
299999
299988
-1
-1
-1
299999
299999
-1
-1
-1
299999
-1
-1
200827
299999
-1
-1
299999
299988
29...

result:

ok ok

Test #15:

score: 0
Accepted
time: 22ms
memory: 5136kb

input:

300000 300000
0 2 0 2 5 2 0 3 4 3 3 0 1 2 0 0 5 1 1 1 1 1 4 1 0 4 0 2 5 4 2 2 5 4 0 4 2 5 4 3 0 0 0 5 5 3 1 3 1 0 4 0 1 2 0 1 0 4 0 1 3 0 5 3 3 0 1 5 5 2 5 0 2 0 4 5 1 3 5 5 1 2 3 5 2 0 3 3 4 4 4 0 0 2 4 2 2 3 2 1 0 3 3 2 1 3 3 3 1 4 2 5 2 4 1 2 4 2 3 4 1 2 3 3 4 4 3 1 3 5 3 3 2 3 5 4 4 4 0 0 1 0 1 ...

output:

299994
299995
299998
299999
299999
299994
299995
299999
299998
299994
299998
299992
299999
299999
299999
299998
299999
299995
299999
299998
299994
299994
299999
299992
299994
299999
299998
299994
299998
299995
299999
299999
299998
299995
299999
299995
299999
299999
299999
299994
299999
299995
299999...

result:

ok ok

Test #16:

score: 0
Accepted
time: 17ms
memory: 4856kb

input:

300000 300000
3 4 4 1 1 5 1 4 4 1 2 5 4 1 1 1 4 3 5 2 4 5 4 4 4 2 4 2 5 5 5 4 5 4 1 5 2 2 2 5 5 2 1 3 1 2 4 4 1 5 1 3 1 5 3 3 3 4 5 2 5 5 2 4 1 3 2 2 2 5 4 1 3 4 5 4 1 2 3 2 1 1 3 2 4 4 1 4 1 4 3 2 1 3 2 5 1 4 5 4 3 2 2 4 3 1 3 2 4 3 4 3 5 4 3 5 5 2 1 1 3 4 2 2 1 2 1 5 5 2 3 5 2 5 3 5 4 4 5 5 5 2 3 ...

output:

299996
299996
299999
299993
-1
299996
299996
299993
299996
-1
299999
299996
299993
299999
299998
299999
299999
299996
299999
299993
-1
-1
299996
299993
299999
299993
299999
299999
299996
299998
299996
299993
299998
-1
-1
299999
299996
299998
299998
-1
299993
299996
299999
299999
-1
299998
299998
299...

result:

ok ok

Test #17:

score: 0
Accepted
time: 27ms
memory: 5904kb

input:

300000 300000
5 2 3 3 1 5 0 3 2 4 2 5 1 2 4 1 1 5 4 5 0 4 0 4 4 0 0 1 2 3 0 1 1 4 1 1 2 5 3 0 2 4 4 0 2 1 5 0 2 1 0 4 5 4 4 3 5 2 1 0 3 2 1 4 1 2 2 2 4 3 0 3 3 3 0 4 2 0 5 1 5 2 2 0 4 2 2 0 3 0 5 2 3 2 5 3 5 5 1 2 4 2 0 1 2 5 3 4 5 0 0 5 2 3 2 2 5 1 1 3 1 5 4 2 3 3 5 4 0 3 1 2 1 1 5 4 5 2 2 4 4 2 5 ...

output:

299999
-1
299993
299990
-1
-1
299990
-1
299993
299999
299990
-1
299999
299999
299997
299990
-1
299999
-1
299994
-1
-1
299997
299994
-1
299997
299999
-1
299993
-1
-1
299994
-1
299993
299999
-1
-1
299999
299999
299990
299999
299999
299990
-1
-1
299990
299997
299990
299994
299994
299997
299990
299990
2...

result:

ok ok

Test #18:

score: 0
Accepted
time: 27ms
memory: 4952kb

input:

300000 300000
4 1 3 3 1 4 2 1 3 1 1 4 4 5 2 2 2 1 5 2 2 4 3 4 4 4 2 2 1 3 2 5 5 2 3 4 4 4 5 5 3 4 5 2 1 4 4 1 4 5 5 5 3 4 4 4 4 3 4 2 2 4 5 3 5 3 1 5 2 4 1 1 4 4 3 1 5 1 4 2 5 3 3 1 1 3 1 5 5 2 1 1 4 3 4 2 4 5 1 4 4 5 5 5 1 2 3 1 3 4 1 5 5 3 4 4 2 2 5 2 4 1 3 3 3 3 1 3 1 5 4 4 2 2 5 3 2 2 3 1 3 4 1 ...

output:

299998
299999
-1
299999
-1
299985
299998
-1
299993
-1
299999
-1
-1
-1
299999
-1
-1
-1
299985
-1
-1
-1
299985
-1
-1
-1
299998
299985
-1
-1
299999
-1
-1
299993
299993
-1
-1
299999
-1
-1
299999
299985
-1
299999
299999
-1
-1
299998
-1
-1
-1
299998
299999
-1
-1
299999
299999
299998
-1
-1
-1
-1
299999
-1
...

result:

ok ok

Test #19:

score: 0
Accepted
time: 235ms
memory: 63960kb

input:

299999 300000
368364702 522726267 191777284 836785831 580519392 679702855 851224739 286998110 385871146 870875427 45817410 544738809 510710727 165619883 318858025 794120765 630021531 511379876 132579749 299399929 498617931 364772164 347885601 884294669 2578901 576388254 66773472 757552580 738656163 ...

output:

224869
224869
183711
183936
44149
183709
216430
14949
9550
6022
183454
28298
61374
200708
224988
139052
9548
41271
101106
245326
199447
183709
214598
224995
9550
213994
58150
115816
224868
103091
285934
183936
224869
285934
285934
122679
157668
1812
285827
203681
126858
183709
60792
117620
197588
22...

result:

ok ok

Test #20:

score: 0
Accepted
time: 297ms
memory: 61580kb

input:

300000 300000
329363808 410837414 386542070 316091908 224988184 590807425 401154024 565635770 86332895 871768724 648980535 429516720 974692004 393242573 258082599 541700334 365570636 140418397 22543471 474596985 928885580 593375594 883649657 723085701 136251090 79716489 444939923 965935970 173809628...

output:

93789
113867
175909
270186
48087
41367
237935
123697
82827
243005
150485
1845
195412
31372
160596
139037
82399
14424
155930
26069
4515
82399
26108
171220
36294
208973
152319
109527
223795
130243
279179
121002
91772
97643
82399
82399
100178
82399
282963
281242
281028
123669
428
26305
163174
47104
392...

result:

ok ok

Extra Test:

score: 0
Extra Test Passed