69172023-12-19 18:24:52111Növekvő XORcpp17Időlimit túllépés 45/1001.1s7216 KiB
#define _GLIBCXX_DEBUG

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

#define int long long
#define double long double

#define pii pair<int, int>

int random(int l, int h) {
	static mt19937 gen;
	return uniform_int_distribution<int>(l, h)(gen);
}

signed main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
#ifdef CB
	freopen("in.txt", "r", stdin);
//	freopen("out.txt", "w", stdout);
#endif
	int N = 1000;
	cin >> N;
	vector<int> v(N);
	for (int i = 0; i < N; i++) {
		v[i] = random(1, 1000000000);
		cin >> v[i];
		bool ok = true;
		auto w = v;
		sort(w.rbegin(), w.rend());
		int l = 31;
		vector<int> b(33);
		vector<int> c(33);
		for (int i = 0; i <= N; i++) {
			if (i == N || __lg(w[i]) < l) {
				if (b[l] - c[l] > 1) {
					ok = false;
					break;
				}
				if (i == N) break;
				l = __lg(w[i]);
				for (int j = 0; j < 30; j++) {
					c[j]+=b[j];
					b[j] = 0;
				}
			}
			while (w[i]) {
				int bb = __lg(w[i]);
				b[bb]++;
				w[i] -= 1 << bb;
			}
		}
		cout << (ok ? "YES" : "NO") << '\n';
	}
	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1960 KiB
2Elfogadva3ms2188 KiB
subtask210/10
3Elfogadva3ms2408 KiB
4Elfogadva3ms2596 KiB
5Elfogadva3ms2812 KiB
6Elfogadva3ms3020 KiB
7Elfogadva3ms3108 KiB
8Elfogadva3ms3184 KiB
9Elfogadva3ms3100 KiB
10Elfogadva3ms3228 KiB
subtask30/11
11Elfogadva3ms3440 KiB
12Elfogadva3ms3528 KiB
13Időlimit túllépés1.1s6136 KiB
14Időlimit túllépés1.08s6004 KiB
15Időlimit túllépés1.078s6260 KiB
subtask435/35
16Elfogadva116ms3952 KiB
17Elfogadva118ms4044 KiB
18Elfogadva118ms4128 KiB
19Elfogadva118ms4168 KiB
20Elfogadva118ms4164 KiB
21Elfogadva118ms4292 KiB
22Elfogadva118ms4524 KiB
23Elfogadva118ms4460 KiB
subtask50/44
24Időlimit túllépés1.054s6792 KiB
25Időlimit túllépés1.067s6720 KiB
26Időlimit túllépés1.067s6756 KiB
27Időlimit túllépés1.059s6616 KiB
28Időlimit túllépés1.067s6812 KiB
29Időlimit túllépés1.067s6816 KiB
30Időlimit túllépés1.075s7060 KiB
31Időlimit túllépés1.062s6952 KiB
32Időlimit túllépés1.07s7216 KiB
33Időlimit túllépés1.075s7124 KiB