Task: | XOR |
Sender: | QuasirandomTeam |
Submission time: | 2016-09-20 18:30:47 +0300 |
Language: | C++ |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.05 s | details |
#2 | ACCEPTED | 0.05 s | details |
#3 | ACCEPTED | 0.06 s | details |
#4 | ACCEPTED | 0.05 s | details |
#5 | ACCEPTED | 0.05 s | details |
#6 | ACCEPTED | 0.06 s | details |
#7 | ACCEPTED | 0.05 s | details |
#8 | ACCEPTED | 0.06 s | details |
#9 | ACCEPTED | 0.06 s | details |
#10 | ACCEPTED | 0.05 s | details |
#11 | ACCEPTED | 0.47 s | details |
#12 | ACCEPTED | 0.46 s | details |
#13 | ACCEPTED | 0.49 s | details |
#14 | ACCEPTED | 0.46 s | details |
#15 | ACCEPTED | 0.51 s | details |
#16 | ACCEPTED | 0.46 s | details |
#17 | ACCEPTED | 0.47 s | details |
#18 | ACCEPTED | 0.46 s | details |
#19 | ACCEPTED | 0.45 s | details |
#20 | ACCEPTED | 0.46 s | details |
#21 | ACCEPTED | 0.46 s | details |
#22 | ACCEPTED | 0.46 s | details |
#23 | ACCEPTED | 0.46 s | details |
#24 | ACCEPTED | 0.46 s | details |
#25 | ACCEPTED | 0.46 s | details |
#26 | ACCEPTED | 0.47 s | details |
#27 | ACCEPTED | 0.46 s | details |
#28 | ACCEPTED | 0.46 s | details |
#29 | ACCEPTED | 0.46 s | details |
#30 | ACCEPTED | 0.46 s | details |
#31 | ACCEPTED | 0.06 s | details |
#32 | ACCEPTED | 0.32 s | details |
Compiler report
input/code.cpp: In function 'void insert(int)': input/code.cpp:19:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(auto it: qq)if(it!=v)add(it^v); ^
Code
#include <iostream> #include <set> #include <vector> #include <bitset> using namespace std; typedef unsigned u32; vector<u32> a[20]; vector<u32> qq; bitset<1<<20> b; bool add(int v){ //cout<<v<<'\n'; if(b[v]){b.set(0);return true;} b.set(v); qq.push_back(v); return false; } void insert(int v){ if(add(v))return; for(auto it: qq)if(it!=v)add(it^v); } void query(int v){ cout<<(b[v]?"YES\n":"NO\n"); } int main(){ int q; qq.reserve(1<<20); cin>>q; while(q--){ int v; int op; cin>>op>>v; if(op == 1) insert(v); else query(v); } return 0; }
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 |