QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#743925#4446. Link is as bears1ameseAC ✓530ms3604kbC++20545b2024-11-13 20:19:342024-11-13 20:19:35

Judging History

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

  • [2024-11-13 20:19:35]
  • 评测
  • 测评结果:AC
  • 用时:530ms
  • 内存:3604kb
  • [2024-11-13 20:19:34]
  • 提交

answer

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

i64 a[60];

void add(i64 x) {
	for (int i = 50; i >= 0; i--)
		if (x >> i & 1) {
			if (a[i])
				x ^= a[i];
			else {
				a[i] = x;
				break;
			}
		}
}

int main() {
	int t;
	cin >> t;

	while (t--) {
		int n;
		cin >> n;

		fill(a, a + 60, 0);
		for (int i = 0; i < n; i++) {
			i64 x;
			cin >> x;
			add(x);
		}

		i64 ans = 0;
		for (int i = 50; i >= 0; i--)
			if (!(ans >> i & 1))
				ans ^= a[i];

		cout << ans << '\n';
	}
}

详细

Test #1:

score: 100
Accepted
time: 530ms
memory: 3604kb

input:

22222
100000
595189703884863 72716684812661 449525802123580 504421888022388 390139608591346 108895143840760 170477720052912 185583843894744 201608404318832 128831549357316 521084715261656 668960191579878 573530403227342 489014525501629 56366633717911 1705111713690 227582321537214 710815946393065 169...

output:

1125899906842623
1125899906842623
1125899906842623
1125899906842623
1125899906842623
1125899906842623
1125899906842623
1125899906842623
1125899906842623
1125899906842623
1125899906842623
1125899906842623
1125899906842623
1125899906842623
1125899906842623
1125899906842623
1125899906842623
11258999068...

result:

ok 22222 lines