CSES - KILO 2016 3/5 - Results
Submission details
Task:XOR
Sender:emlai
Submission time:2016-09-20 17:11:21 +0300
Language:C++
Status:READY
Result:
Test results
testverdicttime
#10.16 sdetails
#20.15 sdetails
#30.14 sdetails
#40.14 sdetails
#50.14 sdetails
#60.14 sdetails
#70.16 sdetails
#80.14 sdetails
#90.14 sdetails
#100.14 sdetails
#110.14 sdetails
#120.15 sdetails
#130.14 sdetails
#140.16 sdetails
#150.15 sdetails
#160.14 sdetails
#170.13 sdetails
#180.14 sdetails
#190.14 sdetails
#200.14 sdetails
#210.14 sdetails
#220.16 sdetails
#230.15 sdetails
#240.16 sdetails
#250.15 sdetails
#260.15 sdetails
#270.14 sdetails
#280.13 sdetails
#290.14 sdetails
#300.14 sdetails
#31ACCEPTED0.29 sdetails
#32ACCEPTED0.05 sdetails

Code

#include <vector>
#include <iostream>

using namespace std;
using ll = long long;

ll queryCount;

struct DataStructure
{
    void add(const ll n)
    {
        for (const auto i : results)
            results.push_back(i ^ n);
            
        results.push_back(n);
    }

    bool isXor(const ll n)
    {
        for (const auto i : results)
            if (i == n)
                return true;
        return false;
    }

    std::vector<ll> results;
};

int main()
{
    cin.sync_with_stdio(false);
    DataStructure d;
    d.results.reserve(500000);
    cin >> queryCount;
    for (ll i = 0; i < queryCount; ++i)
    {
        ll type, x;
        cin >> type >> x;
        if (type == 1)
            d.add(x);
        else if (type == 2)
        {
            if (d.isXor(x))
                cout << "YES\n";
            else
                cout << "NO\n";
        }
    }
    return 0;
}
// a ab b ac abc bc c

Test details

Test 1

Verdict:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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