QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#590888#4830. Transfer of Dutysanbi520 828ms54112kbC++171.3kb2024-09-26 12:32:372024-09-26 12:32:39

Judging History

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

  • [2024-09-26 12:32:39]
  • 评测
  • 测评结果:0
  • 用时:828ms
  • 内存:54112kb
  • [2024-09-26 12:32:37]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;

typedef long long ll;

const int maxn = 1e6 + 5;

int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);

    string a;
    cin >> a;

    mt19937 rng(20021010);
    vector<int> rnd(maxn);
    map<int, int> mp;
    for(int i = 0; i < maxn; i++){
        rnd[i] = rng();
        mp[rnd[i]] = i;
    }

    if(a == "start"){
        int n;
        cin >> n;

        int now = 0;
        for(int i = 0; i < n; i++){
            int x;
            cin >> x;

            now ^= rnd[x];
            if(!now){
                cout << 0 << "\n";
            } else if(mp.find(now) == mp.end()){
                cout << -1 << "\n";
            } else{
                cout << mp[now] << "\n";
            }
        }   
        cout << now << "\n";
    } else{
        int now;
        cin >> now;

        int n;
        cin >> n;

        for(int i = 0; i < n; i++){
            int x;
            cin >> x;

            now ^= rnd[x];
            if(!now){
                cout << 0 << "\n";
            } else if(mp.find(now) == mp.end()){
                cout << -1 << "\n";
            } else{
                cout << mp[now] << "\n";
            }
        }   
    }


    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 828ms
memory: 54080kb

input:

start
5
10
14
10
12
10

output:

10
-1
14
-1
-1
143355097

input:

resume
143355097
6
14
277
12
10
277
12

output:

-1
-1
-1
277
0
12

result:

ok 

Test #2:

score: 100
Accepted
time: 821ms
memory: 54068kb

input:

start
1
1

output:

1
-1658991911

input:

resume
-1658991911
1
1

output:

0

result:

ok 

Test #3:

score: 100
Accepted
time: 816ms
memory: 53872kb

input:

start
1
1000000

output:

1000000
1520011192

input:

resume
1520011192
2
1
1000000

output:

-1
1

result:

ok 

Test #4:

score: 100
Accepted
time: 798ms
memory: 53928kb

input:

start
2
1
1

output:

1
0
0

input:

resume
0
2
1000000
1000000

output:

1000000
0

result:

ok 

Test #5:

score: 100
Accepted
time: 771ms
memory: 53992kb

input:

start
3
1
2
3

output:

1
-1
-1
1416294557

input:

resume
1416294557
2
4
5

output:

-1
-1

result:

ok 

Test #6:

score: 100
Accepted
time: 711ms
memory: 54112kb

input:

start
5
483440
800458
959493
679027
187008

output:

483440
-1
-1
-1
-1
-131463028

input:

resume
-131463028
8
312653
808184
244728
372836
64144
525068
795548
379152

output:

-1
-1
-1
-1
-1
-1
-1
-1

result:

ok 

Test #7:

score: 100
Accepted
time: 774ms
memory: 53976kb

input:

start
68
901287
581649
963302
839936
728540
414441
916931
567596
695928
364562
839701
726560
34000
85414
129234
413159
976576
799600
479209
808330
182632
685443
41419
207533
762418
206283
144088
679114
945142
919478
220106
992468
483248
197576
129732
123083
987094
712824
650777
907335
206313
958433
...

output:

901287
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
362106951

input:

resume
362106951
68
632048
873503
23659
234350
352724
63249
395634
638205
597162
368489
973286
290734
735407
636099
145516
176166
262275
936624
302002
344028
227364
297307
645242
206861
471059
139081
861346
172592
637220
698174
593758
561280
324011
489640
497542
657953
82088
553578
102675
32329
8536...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1

result:

ok 

Test #8:

score: 100
Accepted
time: 793ms
memory: 54000kb

input:

start
520
569396
440938
116732
473751
47601
877390
277114
259139
437475
193896
992342
402838
838349
33699
536576
163847
117713
927965
598864
939506
517156
87428
943725
624835
515205
108250
468405
990560
512040
343417
101050
944099
177534
73824
476709
772630
489775
929453
216227
822538
552185
208923
...

output:

569396
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1...

input:

resume
-755795930
700
707366
267047
407693
725807
896458
649723
322966
13478
797908
8465
563163
798321
831358
235782
473564
19913
929601
720398
521831
221253
936397
987947
63596
47475
259147
560605
188477
743888
948782
654739
934236
341826
67525
197899
989556
144568
618026
850867
550036
48216
288938...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
...

result:

ok 

Test #9:

score: 0
Wrong Answer
time: 805ms
memory: 53980kb

input:

start
8443
729060
666260
185101
382196
371654
40175
191745
696848
627288
695514
463530
357409
465277
741772
43361
979762
952428
178423
841409
405526
498821
973165
335585
375002
113423
365239
404592
237309
573524
962229
36036
696295
373438
251803
891072
633659
62534
157262
573215
610136
499209
762268...

output:

729060
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1...

input:

resume
-1927273306
9886
420210
520488
188197
748478
206087
275961
54195
608381
155537
321018
415228
668078
924461
161132
119676
879347
707167
899509
348680
459789
490439
773296
166145
740279
863122
581710
69615
444211
182480
543538
452479
284383
565588
539092
957001
22888
230633
56687
403989
34627
9...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
...

result:

wrong answer