QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#325656#5521. Excellent XOR Problemiee#AC ✓70ms14252kbC++231.3kb2024-02-11 18:52:122024-02-11 18:52:12

Judging History

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

  • [2024-02-11 18:52:12]
  • 评测
  • 测评结果:AC
  • 用时:70ms
  • 内存:14252kb
  • [2024-02-11 18:52:12]
  • 提交

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)