CSES - KILO 2016 3/5 - Results
Submission details
Task:XOR
Sender:z
Submission time:2016-09-20 17:37:54 +0300
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.07 sdetails
#2ACCEPTED0.06 sdetails
#3ACCEPTED0.06 sdetails
#4ACCEPTED0.07 sdetails
#5ACCEPTED0.07 sdetails
#6ACCEPTED0.07 sdetails
#7ACCEPTED0.28 sdetails
#8ACCEPTED0.08 sdetails
#9ACCEPTED0.07 sdetails
#10ACCEPTED0.07 sdetails
#11ACCEPTED0.52 sdetails
#12ACCEPTED0.52 sdetails
#13ACCEPTED0.51 sdetails
#14ACCEPTED0.52 sdetails
#15ACCEPTED0.50 sdetails
#16ACCEPTED0.52 sdetails
#17ACCEPTED0.51 sdetails
#18ACCEPTED0.51 sdetails
#19ACCEPTED0.50 sdetails
#20ACCEPTED0.52 sdetails
#21ACCEPTED0.51 sdetails
#22ACCEPTED0.53 sdetails
#23ACCEPTED0.52 sdetails
#24ACCEPTED0.49 sdetails
#25ACCEPTED0.51 sdetails
#26ACCEPTED0.52 sdetails
#27ACCEPTED0.52 sdetails
#28ACCEPTED0.52 sdetails
#29ACCEPTED0.50 sdetails
#30ACCEPTED0.51 sdetails
#31ACCEPTED0.05 sdetails
#32ACCEPTED0.06 sdetails

Code

#include <iostream>
#include <vector>
using namespace std;
int q;


bool xr[(1<<20)];

int main(){
  cin >> q;
  for (int ii=0; ii<q; ++ii){
    int t, x;
    cin >> t >> x;
    if (t==1){
      if (xr[x]){
	xr[0]=1;
	continue;
      }
      for (int i=0; i<(1<<20); ++i){
	if (!xr[i] && xr[i^x]) xr[i]=1;
      }
      xr[x]=1;
    }else{
      cout << (xr[x]?"YES":"NO") << "\n";
    }
  }
}

Test details

Test 1

Verdict: ACCEPTED

input
59
2 549796
1 797427
2 8267
2 94241
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 2

Verdict: ACCEPTED

input
60
2 189273
2 88019
2 110069
1 611607
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 3

Verdict: ACCEPTED

input
86
1 811855
1 110105
2 569085
1 805175
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 4

Verdict: ACCEPTED

input
79
2 204680
2 479640
2 21734
1 822295
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 5

Verdict: ACCEPTED

input
54
2 393529
2 508737
2 279234
1 610723
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 6

Verdict: ACCEPTED

input
76
1 40087
1 746813
1 120910
2 1048513
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 7

Verdict: ACCEPTED

input
73
1 96148
1 881120
1 414495
1 814692
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 8

Verdict: ACCEPTED

input
93
2 458578
1 907441
2 406032
2 72125
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 9

Verdict: ACCEPTED

input
66
1 256689
1 656847
1 204470
1 706678
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 10

Verdict: ACCEPTED

input
90
1 806402
2 212552
2 588349
2 437562
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 11

Verdict: ACCEPTED

input
500000
1 87911
1 254464
2 936765
2 177725
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 12

Verdict: ACCEPTED

input
500000
2 580798
2 711232
1 517084
1 706145
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 13

Verdict: ACCEPTED

input
500000
1 890696
1 736663
1 309693
1 877748
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 14

Verdict: ACCEPTED

input
500000
2 422535
2 915569
1 799087
1 640406
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 15

Verdict: ACCEPTED

input
500000
1 173418
2 945329
1 54964
2 617017
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 16

Verdict: ACCEPTED

input
500000
1 193460
2 476498
2 117697
1 176455
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 17

Verdict: ACCEPTED

input
500000
2 88645
2 524394
1 545883
2 906204
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 18

Verdict: ACCEPTED

input
500000
1 349059
2 820258
1 666916
1 821504
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 19

Verdict: ACCEPTED

input
500000
1 55427
1 389186
2 340527
1 451535
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 20

Verdict: ACCEPTED

input
500000
2 186
2 572852
2 279886
1 559531
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 21

Verdict: ACCEPTED

input
500000
1 759956
2 946637
2 781536
1 211151
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 22

Verdict: ACCEPTED

input
500000
2 898884
1 461135
1 129061
2 1011354
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 23

Verdict: ACCEPTED

input
500000
1 124677
2 379713
1 1034177
1 152116
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 24

Verdict: ACCEPTED

input
500000
2 280923
1 888416
1 301451
2 877860
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 25

Verdict: ACCEPTED

input
500000
2 239639
1 863577
2 825271
2 1030489
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 26

Verdict: ACCEPTED

input
500000
2 842792
1 280374
2 528173
2 902772
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 27

Verdict: ACCEPTED

input
500000
1 769700
2 786489
2 954187
2 213653
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 28

Verdict: ACCEPTED

input
500000
2 45666
2 742846
1 870697
2 824087
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 29

Verdict: ACCEPTED

input
500000
2 1010353
1 298819
1 946132
2 1017161
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 30

Verdict: ACCEPTED

input
500000
2 195272
1 971250
1 118355
2 361142
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 31

Verdict: ACCEPTED

input
4
2 0
1 5
1 5
2 0

correct output
NO
YES

user output
NO
YES

Test 32

Verdict: ACCEPTED

input
3
2 0
1 0
2 0

correct output
NO
YES

user output
NO
YES