QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#590888 | #4830. Transfer of Duty | sanbi52 | 0 | 828ms | 54112kb | C++17 | 1.3kb | 2024-09-26 12:32:37 | 2024-09-26 12:32:39 |
Judging History
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