QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#325656 | #5521. Excellent XOR Problem | iee# | AC ✓ | 70ms | 14252kb | C++23 | 1.3kb | 2024-02-11 18:52:12 | 2024-02-11 18:52:12 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
void solve() {
int n;
cin >> n;
vector<int> a(n);
int xs = 0;
for (int &x : a) {
cin >> x;
xs ^= x;
}
if (xs) {
cout << "YES" << "\n";
cout << 2 << "\n";
for (int i = 0, now = 0; i < n; i++) {
now ^= a[i];
if (now) {
cout << 1 << " " << i + 1 << "\n";
cout << i + 2 << " " << n << "\n";
return;
}
}
assert(0);
}
multiset<pair<int, int>> se;
vector<int> suf(n);
for (int i = n - 1, now = 0; i >= 0; i--) {
now ^= a[i], suf[i] = now;
if (now) se.insert({now, i});
}
for (int i = 0, now = 0; i < n - 1; i++) {
if (suf[i]) se.erase(se.find({suf[i], i}));
now ^= a[i];
if (!now) continue;
if (se.lower_bound({now, 0}) == se.begin()
&& se.lower_bound({now + 1, 0}) == se.end()) {
continue;
}
if (se.empty()) continue;
auto it = se.begin();
if (it->first == now) it = se.lower_bound({now + 1, 0});
if (it != se.end() && it->first != now) {
int j = it->second;
cout << "YES" << "\n" << 3 << "\n";
cout << 1 << " " << i + 1 << "\n";
cout << i + 2 << " " << j << "\n";
cout << j + 1 << " " << n << "\n";
return;
}
}
cout << "NO" << "\n";
}
int main() {
cin.tie(0)->sync_with_stdio(0);
int t;
cin >> t;
while (t--) {
solve();
}
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 1ms
memory: 3768kb
input:
4 2 0 0 3 1 2 3 5 16 8 4 2 1 6 42 42 42 42 42 42
output:
NO YES 3 1 1 2 2 3 3 YES 2 1 1 2 5 NO
result:
ok Correct (4 test cases)
Test #2:
score: 0
Accepted
time: 7ms
memory: 3864kb
input:
1 200000 0 0 104990627 0 104990627 0 0 0 0 104990627 0 104990627 0 0 104990627 104990627 0 0 0 0 0 104990627 0 0 0 104990627 104990627 104990627 0 104990627 0 104990627 104990627 0 104990627 0 0 0 104990627 104990627 0 0 104990627 104990627 0 0 104990627 0 0 0 0 0 104990627 104990627 0 0 0 0 0 10499...
output:
YES 2 1 3 4 200000
result:
ok Correct (1 test case)
Test #3:
score: 0
Accepted
time: 65ms
memory: 14108kb
input:
1 200000 916550535 1039111536 183367143 845311658 473404911 844600350 249761080 860927112 268559756 661297994 448456545 184790162 804023458 655065019 442145717 130497524 509071033 644651807 1039510287 766490362 514960668 612238468 863513676 417538457 839195481 901404895 760875212 983171045 343221187...
output:
YES 3 1 1 2 95 96 200000
result:
ok Correct (1 test case)
Test #4:
score: 0
Accepted
time: 9ms
memory: 3876kb
input:
1 200000 697100980 63360185 3577101 75632048 903073319 644702701 1017474476 268785811 6091842 227390753 270800416 554896940 318364388 526066510 354510498 1034952286 613138496 176305121 384248064 715019967 999545181 91222841 1063728923 665773338 354670745 473570604 220064105 301115885 1038664738 3094...
output:
YES 2 1 1 2 200000
result:
ok Correct (1 test case)
Test #5:
score: 0
Accepted
time: 25ms
memory: 9392kb
input:
1 200000 446225258 446225258 446225258 446225258 0 0 446225258 446225258 0 446225258 0 0 446225258 0 446225258 0 446225258 446225258 446225258 0 446225258 0 0 446225258 0 0 446225258 446225258 446225258 446225258 0 0 0 446225258 0 446225258 446225258 0 0 0 0 446225258 446225258 446225258 446225258 0...
output:
YES 3 1 1 2 139152 139153 200000
result:
ok Correct (1 test case)
Test #6:
score: 0
Accepted
time: 35ms
memory: 9380kb
input:
1 200000 917884074 0 917884074 917884074 0 0 0 917884074 917884074 0 917884074 0 0 0 917884074 0 917884074 917884074 0 917884074 0 917884074 0 917884074 0 917884074 0 0 917884074 0 0 0 0 917884074 0 0 917884074 0 0 917884074 0 0 0 917884074 0 0 917884074 917884074 917884074 0 917884074 917884074 917...
output:
NO
result:
ok Correct (1 test case)
Test #7:
score: 0
Accepted
time: 69ms
memory: 14184kb
input:
1 200000 38752313 357331606 537948798 987818688 44594898 45009755 99389192 639845557 292429925 1073152680 811573855 591475451 1008870823 139070983 91604841 527091101 925340882 918748711 565945042 560608781 305815075 675659609 590632841 336736157 1048580186 263809556 745114432 402434054 977511741 738...
output:
YES 3 1 1 2 35909 35910 200000
result:
ok Correct (1 test case)
Test #8:
score: 0
Accepted
time: 10ms
memory: 3844kb
input:
1 200000 893044581 455322080 358158755 218139078 474263307 918853931 867102588 47704257 29962011 639245440 633917727 961582229 523211753 10072474 3969623 357804040 1029408344 450402025 984424643 509138385 790399588 154643982 790848088 584971038 564055450 909717089 204303325 794120719 599213467 16634...
output:
YES 2 1 1 2 200000
result:
ok Correct (1 test case)
Test #9:
score: 0
Accepted
time: 17ms
memory: 9436kb
input:
1 200000 0 185376886 185376886 0 0 185376886 0 0 0 185376886 185376886 185376886 0 185376886 0 185376886 0 0 0 185376886 0 185376886 0 0 185376886 0 0 185376886 185376886 0 0 0 0 185376886 185376886 185376886 185376886 0 185376886 185376886 185376886 0 185376886 185376886 185376886 0 185376886 18537...
output:
YES 3 1 2 3 66722 66723 200000
result:
ok Correct (1 test case)
Test #10:
score: 0
Accepted
time: 10ms
memory: 3956kb
input:
1 200000 657035701 657035701 657035701 0 657035701 0 0 0 657035701 0 0 657035701 0 657035701 657035701 657035701 657035701 657035701 0 0 657035701 0 0 657035701 657035701 657035701 657035701 0 657035701 0 0 0 657035701 657035701 657035701 657035701 657035701 657035701 657035701 657035701 657035701 0...
output:
YES 2 1 1 2 200000
result:
ok Correct (1 test case)
Test #11:
score: 0
Accepted
time: 13ms
memory: 3892kb
input:
1 200000 858422083 738133618 507317400 938167375 459497018 1044660423 463406796 381197927 222652382 320503882 227297869 94859048 1041849577 22395538 867727705 113746555 121033531 998839546 547321231 944047181 838316629 703306016 929065075 831702287 292242396 594475369 700537839 114951735 741004316 3...
output:
YES 2 1 1 2 200000
result:
ok Correct (1 test case)
Test #12:
score: 0
Accepted
time: 11ms
memory: 3844kb
input:
1 200000 0 0 0 0 159868366 0 0 0 0 159868366 0 159868366 159868366 0 159868366 159868366 0 0 0 0 0 159868366 0 159868366 159868366 0 159868366 0 0 159868366 0 159868366 0 0 0 0 159868366 0 0 159868366 0 159868366 0 0 159868366 159868366 0 0 0 159868366 0 159868366 0 159868366 0 159868366 159868366 0...
output:
YES 2 1 5 6 200000
result:
ok Correct (1 test case)
Test #13:
score: 0
Accepted
time: 10ms
memory: 3944kb
input:
1 200000 0 0 0 631527185 0 0 0 0 631527185 0 0 0 0 631527185 0 631527185 0 0 0 0 631527185 0 631527185 631527185 0 0 0 631527185 0 631527185 631527185 631527185 0 0 0 631527185 0 631527185 0 631527185 631527185 0 0 0 631527185 631527185 0 631527185 0 631527185 0 0 631527185 631527185 631527185 0 0 0...
output:
YES 2 1 4 5 200000
result:
ok Correct (1 test case)
Test #14:
score: 0
Accepted
time: 13ms
memory: 3848kb
input:
1 200000 200073416 1032105039 1041689097 776612191 674760420 444967477 619063336 752257673 508990464 92523985 768071308 131437559 658614189 709141835 604822048 679627194 433235918 667541312 729018209 789635995 144586522 214000960 455968993 502665106 986151837 384714321 151846341 216269904 679851319 ...
output:
YES 2 1 1 2 200000
result:
ok Correct (1 test case)
Test #15:
score: 0
Accepted
time: 13ms
memory: 3884kb
input:
1 200000 1054365685 56353689 861899055 6932581 30687005 245069829 313034908 160116373 246522551 732358569 590415180 501544337 172955118 580143326 517186829 510340133 537303380 199194626 73755986 738165599 629171036 766727158 656184240 750899987 501627101 1030621854 684777058 607956568 301553045 1962...
output:
YES 2 1 1 2 200000
result:
ok Correct (1 test case)
Test #16:
score: 0
Accepted
time: 11ms
memory: 3828kb
input:
1 200000 972761816 972761816 0 0 0 0 0 972761816 0 972761816 972761816 0 972761816 0 972761816 0 0 972761816 0 972761816 972761816 972761816 0 0 972761816 972761816 972761816 0 972761816 972761816 0 0 972761816 0 972761816 0 972761816 972761816 972761816 972761816 0 972761816 0 0 0 972761816 0 97276...
output:
YES 2 1 1 2 200000
result:
ok Correct (1 test case)
Test #17:
score: 0
Accepted
time: 70ms
memory: 14252kb
input:
1 200000 615466573 252334636 502318970 615057008 890023823 919016355 774719876 49575596 795328547 938285912 235102923 168016069 275378801 322146308 341916391 171766010 745438304 336243078 910715187 635224808 524598239 798437728 1056614735 173627925 606319454 174953272 676896668 317588073 618698322 1...
output:
YES 3 1 1 2 46556 46557 200000
result:
ok Correct (1 test case)
Test #18:
score: 0
Accepted
time: 56ms
memory: 14140kb
input:
1 200000 396017018 350325110 322528928 919119221 245950407 719118707 468691448 531176119 532860634 504378671 57446795 538122848 863461554 193147799 254281172 2478948 849505767 941638216 255452964 583754413 1009182753 277422102 183088158 421862806 121794718 820860806 136085561 709274737 240400048 625...
output:
YES 3 1 1 2 159983 159984 200000
result:
ok Correct (1 test case)
Test #19:
score: 0
Accepted
time: 21ms
memory: 9376kb
input:
1 200000 240254620 240254620 0 0 0 0 240254620 240254620 0 240254620 240254620 240254620 240254620 240254620 240254620 240254620 0 240254620 240254620 0 0 240254620 240254620 240254620 0 0 240254620 240254620 0 240254620 0 0 0 240254620 0 240254620 0 240254620 0 0 240254620 0 240254620 240254620 240...
output:
YES 3 1 1 2 36111 36112 200000
result:
ok Correct (1 test case)
Test #20:
score: 0
Accepted
time: 7ms
memory: 3832kb
input:
1 200000 711913436 711913436 711913436 711913436 711913436 0 0 0 711913436 0 0 711913436 711913436 0 711913436 711913436 0 0 0 0 0 0 0 711913436 0 711913436 0 711913436 711913436 0 711913436 711913436 0 711913436 0 711913436 711913436 0 0 711913436 711913436 711913436 711913436 711913436 0 711913436...
output:
YES 2 1 1 2 200000
result:
ok Correct (1 test case)
Test #21:
score: 0
Accepted
time: 10ms
memory: 3844kb
input:
1 200000 556496957 599491909 1064758529 195572743 122274978 164089666 171295779 399095216 771461740 455276133 667723649 166819107 744520439 855408620 629777826 1051765207 261024403 511573799 743922497 652011161 800590597 531579900 170198475 603500551 485391878 1044502886 944661988 665346837 11913824...
output:
YES 2 1 1 2 200000
result:
ok Correct (1 test case)
Test #22:
score: 0
Accepted
time: 35ms
memory: 8640kb
input:
2 100000 834074965 802479352 920598314 872396637 780256286 163927241 263678492 397223877 6095204 156235661 1066538453 960385267 992353390 543334786 291831058 164061413 544994443 625732746 817631952 525924738 1066391946 961527978 978173652 1014843663 443127874 705524878 472068645 68137659 99653388 54...
output:
YES 3 1 1 2 19251 19252 100000 YES 2 1 1 2 100000
result:
ok Correct (2 test cases)
Test #23:
score: 0
Accepted
time: 13ms
memory: 6228kb
input:
2 100000 909567027 0 0 909567027 909567027 909567027 909567027 0 0 0 0 0 909567027 909567027 909567027 909567027 909567027 0 0 909567027 909567027 909567027 0 0 0 909567027 0 909567027 909567027 0 909567027 0 909567027 0 0 0 909567027 909567027 0 0 909567027 909567027 0 909567027 909567027 0 9095670...
output:
YES 3 1 1 2 1373 1374 100000 YES 2 1 1 2 100000
result:
ok Correct (2 test cases)
Test #24:
score: 0
Accepted
time: 35ms
memory: 8564kb
input:
2 100000 0 307484032 307484032 0 0 0 0 0 0 307484032 307484032 307484032 0 0 0 307484032 0 0 307484032 0 307484032 307484032 307484032 307484032 307484032 0 0 0 0 307484032 307484032 0 0 307484032 0 307484032 0 0 307484032 307484032 307484032 307484032 307484032 307484032 0 307484032 0 307484032 0 3...
output:
YES 2 1 2 3 100000 YES 3 1 1 2 9885 9886 100000
result:
ok Correct (2 test cases)
Test #25:
score: 0
Accepted
time: 5ms
memory: 3968kb
input:
2 100000 779142847 779142847 0 779142847 779142847 0 0 779142847 0 0 779142847 0 779142847 779142847 779142847 779142847 0 779142847 779142847 0 0 0 0 779142847 0 779142847 0 779142847 0 0 0 779142847 779142847 779142847 779142847 0 0 779142847 0 779142847 0 779142847 0 779142847 0 779142847 0 0 0 7...
output:
YES 2 1 1 2 100000 YES 2 1 1 2 100000
result:
ok Correct (2 test cases)
Test #26:
score: 0
Accepted
time: 61ms
memory: 9216kb
input:
2 100000 1030018566 120699423 201438145 1014903668 351446274 438078471 113306604 176142323 29965373 568090348 355913940 293328732 123458931 27340750 1015032006 560654991 961264292 899829650 344066707 320043156 857246353 1024949120 705292817 934041363 652512579 67929539 456307864 561142492 733943941 ...
output:
YES 3 1 1 2 99067 99068 100000 YES 3 1 1 2 88536 88537 100000
result:
ok Correct (2 test cases)
Test #27:
score: 0
Accepted
time: 22ms
memory: 6260kb
input:
2 100000 648718659 0 648718659 0 648718659 0 0 648718659 0 0 648718659 0 648718659 0 0 0 0 648718659 0 648718659 0 0 0 648718659 0 0 648718659 0 0 648718659 648718659 0 648718659 648718659 648718659 648718659 0 0 0 0 648718659 648718659 648718659 0 648718659 648718659 0 648718659 648718659 0 0 0 0 0...
output:
YES 3 1 1 2 12194 12195 100000 YES 3 1 2 3 86932 86933 100000
result:
ok Correct (2 test cases)
Test #28:
score: 0
Accepted
time: 25ms
memory: 6624kb
input:
2 100000 46635647 0 0 46635647 0 46635647 0 0 46635647 0 0 0 0 0 0 46635647 0 0 46635647 0 46635647 46635647 46635647 46635647 46635647 0 0 0 0 46635647 46635647 46635647 46635647 0 46635647 46635647 0 0 0 0 46635647 0 0 46635647 46635647 0 46635647 46635647 46635647 0 0 46635647 0 0 46635647 0 0 46...
output:
YES 3 1 1 2 4911 4912 100000 NO
result:
ok Correct (2 test cases)
Test #29:
score: 0
Accepted
time: 12ms
memory: 4004kb
input:
2 100000 0 518294466 0 0 518294466 0 0 0 0 518294466 518294466 518294466 518294466 518294466 0 0 0 0 518294466 0 518294466 518294466 0 0 0 518294466 0 0 518294466 518294466 0 0 0 0 0 0 0 0 518294466 518294466 0 518294466 518294466 518294466 0 518294466 0 0 518294466 0 0 0 518294466 0 518294466 51829...
output:
YES 2 1 2 3 100000 YES 2 1 1 2 100000
result:
ok Correct (2 test cases)
Test #30:
score: 0
Accepted
time: 18ms
memory: 6652kb
input:
2 100000 152220344 512661318 556019799 83668874 996378085 712229700 1036676540 1028802593 53835542 979945034 719031251 700014021 328306296 585088538 664491130 957248569 303792317 100184730 944243286 114161574 648100760 14628437 432411982 853239063 861897284 504076024 440547084 1054147326 294492670 2...
output:
YES 2 1 1 2 100000 YES 3 1 7 8 4054 4055 100000
result:
ok Correct (2 test cases)
Test #31:
score: 0
Accepted
time: 31ms
memory: 9024kb
input:
2 100000 0 0 256091592 256091592 256091592 256091592 256091592 256091592 0 256091592 256091592 0 256091592 256091592 256091592 256091592 0 256091592 256091592 0 0 0 0 256091592 0 256091592 256091592 0 0 0 256091592 256091592 256091592 256091592 256091592 256091592 0 0 256091592 256091592 256091592 2...
output:
YES 2 1 3 4 100000 YES 3 1 1 2 73801 73802 100000
result:
ok Correct (2 test cases)
Test #32:
score: 0
Accepted
time: 26ms
memory: 4392kb
input:
10 20000 0 0 0 611548380 0 0 611548380 611548380 0 0 0 0 0 0 0 0 611548380 0 611548380 611548380 0 611548380 611548380 611548380 611548380 0 0 611548380 0 611548380 0 0 611548380 611548380 611548380 611548380 0 611548380 0 611548380 0 0 0 611548380 611548380 0 611548380 0 0 0 611548380 0 0 611548380...
output:
NO YES 2 1 11 12 20000 NO YES 2 1 1 2 20000 YES 3 1 1 2 9823 9824 20000 YES 3 1 1 2 16854 16855 20000 YES 3 1 1 2 15513 15514 20000 NO YES 2 1 2 3 20000 YES 2 1 4 5 20000
result:
ok Correct (10 test cases)
Test #33:
score: 0
Accepted
time: 18ms
memory: 3728kb
input:
100 2000 681949331 0 681949331 0 681949331 0 681949331 681949331 0 0 0 0 681949331 0 681949331 0 0 681949331 0 0 0 681949331 0 681949331 0 681949331 681949331 0 681949331 681949331 0 0 0 681949331 0 0 0 0 0 681949331 0 681949331 0 681949331 0 0 0 681949331 681949331 681949331 0 0 681949331 681949331...
output:
YES 3 1 1 2 1024 1025 2000 YES 2 1 1 2 2000 YES 2 1 1 2 2000 YES 2 1 2 3 2000 NO YES 3 1 2 3 1057 1058 2000 YES 2 1 1 2 2000 YES 2 1 4 5 2000 YES 2 1 1 2 2000 YES 2 1 1 2 2000 YES 3 1 3 4 1231 1232 2000 YES 3 1 1 2 889 890 2000 YES 3 1 1 2 382 383 2000 YES 2 1 1 2 2000 YES 3 1 1 2 1119 1120 2000 NO ...
result:
ok Correct (100 test cases)
Test #34:
score: 0
Accepted
time: 18ms
memory: 3552kb
input:
1000 200 0 857719523 857719523 0 0 0 0 857719523 857719523 857719523 857719523 857719523 857719523 857719523 857719523 857719523 0 857719523 857719523 857719523 0 0 0 857719523 0 0 0 0 857719523 0 857719523 0 857719523 857719523 857719523 0 857719523 857719523 0 857719523 857719523 0 857719523 0 857...
output:
NO YES 2 1 1 2 200 YES 3 1 1 2 80 81 200 NO YES 2 1 1 2 200 YES 3 1 1 2 97 98 200 YES 3 1 4 5 118 119 200 NO YES 3 1 1 2 29 30 200 YES 3 1 1 2 76 77 200 YES 3 1 1 2 146 147 200 YES 2 1 1 2 200 YES 3 1 1 2 197 198 200 YES 2 1 3 4 200 YES 2 1 1 2 200 YES 3 1 1 2 101 102 200 NO YES 3 1 1 2 60 61 200 YE...
result:
ok Correct (1000 test cases)
Test #35:
score: 0
Accepted
time: 9ms
memory: 3612kb
input:
10000 20 543900313 552726730 947126694 840978907 254176888 60122111 901884666 505199489 688914573 1003996438 620599360 398547760 887489086 4512916 32391303 303536170 870861026 605856275 261632530 688416256 20 284854977 921584855 161086236 339543341 933767136 929406209 381540152 92180425 339023172 87...
output:
YES 2 1 1 2 20 YES 2 1 1 2 20 YES 2 1 1 2 20 NO YES 3 1 1 2 9 10 20 YES 3 1 1 2 15 16 20 YES 2 1 1 2 20 YES 3 1 3 4 15 16 20 YES 3 1 1 2 18 19 20 YES 3 1 1 2 15 16 20 NO YES 3 1 1 2 5 6 20 YES 2 1 1 2 20 YES 2 1 1 2 20 YES 3 1 1 2 5 6 20 NO YES 2 1 3 4 20 NO YES 2 1 1 2 20 YES 3 1 1 2 14 15 20 YES 3...
result:
ok Correct (10000 test cases)
Test #36:
score: 0
Accepted
time: 18ms
memory: 3816kb
input:
42 4761 0 406135131 0 0 406135131 0 0 0 406135131 0 406135131 0 406135131 406135131 406135131 406135131 406135131 406135131 406135131 406135131 0 0 406135131 406135131 406135131 0 0 406135131 0 0 406135131 406135131 0 0 0 0 0 0 0 0 0 0 406135131 406135131 0 0 0 0 0 0 0 406135131 0 0 406135131 0 0 0 ...
output:
YES 2 1 2 3 4761 YES 3 1 1 2 224 225 4761 NO NO NO YES 3 1 1 2 1409 1410 4761 YES 3 1 1 2 234 235 4761 YES 3 1 1 2 857 858 4761 NO YES 2 1 5 6 4761 YES 2 1 1 2 4761 YES 3 1 1 2 931 932 4761 YES 2 1 2 3 4761 YES 2 1 1 2 4761 YES 2 1 1 2 4761 YES 2 1 1 2 4761 NO YES 2 1 1 2 4761 YES 3 1 1 2 754 755 47...
result:
ok Correct (42 test cases)
Test #37:
score: 0
Accepted
time: 20ms
memory: 3964kb
input:
69 2898 1043469461 887549000 375976511 641202294 878960199 722023725 570188910 937161815 878558705 34638420 597411082 869488413 382147772 594460075 498438352 733654425 1067577882 331916040 1043788544 1014317250 332187708 695658657 836342240 856880689 101765274 605650836 28207929 123846822 992872560 ...
output:
YES 3 1 1 2 1308 1309 2898 YES 2 1 3 4 2898 YES 2 1 1 2 2898 YES 3 1 1 2 2068 2069 2898 NO NO YES 2 1 1 2 2898 NO YES 3 1 1 2 2613 2614 2898 YES 3 1 1 2 1108 1109 2898 YES 2 1 1 2 2898 YES 3 1 1 2 1836 1837 2898 NO YES 2 1 1 2 2898 YES 3 1 1 2 1217 1218 2898 YES 3 1 1 2 2670 2671 2898 YES 2 1 2 3 28...
result:
ok Correct (69 test cases)