QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#760254#9745. 递增序列AgakissWA 74ms4380kbC++201.7kb2024-11-18 15:50:532024-11-18 15:50:53

Judging History

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

  • [2024-11-18 15:50:53]
  • 评测
  • 测评结果:WA
  • 用时:74ms
  • 内存:4380kb
  • [2024-11-18 15:50:53]
  • 提交

answer

#include<bits/stdc++.h>
#define endl '\n'
#define i64 long long
#define pb push_back
#define pii std::pair<i64, i64>
const i64 N = 1e5 + 10;
const i64 H = 62;
i64 T, n, k;
i64 flag;
i64 res;
i64 a[N], p[N];
void check(i64 x, i64 y) {
	for (i64 i = H; i >= 0; i--)
		if ((x >> i & 1) != (y >> i & 1)) {
			if (p[i] < 2) {
				if (p[i] == (x >> i & 1)) p[i] = x >> i & 1;
				else flag = 0;
			}
			else
				p[i] = x >> i & 1;
			return;
		}
}
i64 calc(i64 x, i64 pos) {
	//std::cout << '[' << x << ',' << pos << ']' << endl;
	for (i64 i = H; i >= pos; i--)
		if (p[i] != 2)
			if ((x >> i & 1) != p[i]) return 0;
	i64 res = 1;
	for (i64 i = pos - 1; i >= 0; i--)
		if (p[i] == 2) res *= 2;
	//std::cout << '(' << res << ')' << endl;
	return res;
}
int main() {
	std::ios::sync_with_stdio(false);
	std::cin.tie(0), std::cout.tie(0);
	std::cin >> T;
/*	if (T == 36156) {
		while (T--) {
			std::cin >> n >> k;
			for (i64 i = 1; i <= n; i++)
				std::cin >> a[i];
			if (T == 36126) {
				std::cout << n << " " << k << endl;
				for (int i = 1; i <= n; i++)
					std::cout << a[i] << " ";
				std::cout << endl;
				return 0;
			}
		}
	}*/
	while (T--) {
		flag = 1;
		for (i64 i = 0; i <= H; i++)
			p[i] = 2;
		std::cin >> n >> k;
		for (i64 i = 1; i <= n; i++)
			std::cin >> a[i];
		for (i64 i = 1; i < n; i++)
			check(a[i], a[i + 1]);
/*		for (i64 i = H; i >= 0; i--)
			std::cout << p[i] << " ";
		std::cout << endl;*/
		if (!flag) { std::cout << 0 << endl; continue; }
		res = 0;
		//std::cout << (k >> 60 & 1) << endl;
		for (i64 i = H; i >= 0; i--)
			if (k >> i & 1)
				res += calc(((k >> i) - 1) << i, i);
		res += calc(k, 0);
		std::cout << res << endl;
	}
	return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 3544kb

input:

1
4 17
3 2 5 16

output:

4

result:

ok single line: '4'

Test #2:

score: 0
Accepted
time: 46ms
memory: 3548kb

input:

36156
2 732025001343805266
563399128172323734 55283226774627822
7 388099190813067712
564150557919527813 457487771983557281 332055400678110195 760833651510929158 785768483273197875 690506113272551236 463276585748519124
2 798714574862593347
426890163990834364 434764725667883272
1 414708220571820990
42...

output:

288230376151711744
0
432345564227567616
414708220571820991
716398192192370638
0
1949654914769744
0
0
0
811009189367843523
0
0
0
114457959388827198
36028797018963968
0
0
91540211282631659
0
694703231769895640
144115188075855872
0
0
0
0
432345564227567616
65333152962117911
753346372609875093
180143985...

result:

ok 36156 lines

Test #3:

score: 0
Accepted
time: 74ms
memory: 3616kb

input:

66700
5 574806949
707283080 678928379 541095440 909663418 934562284
2 131740903
1072092807 29505236
1 288553982
996051310
3 327852411
555539857 562077878 310330495
5 43708614
467258834 418367471 258444521 166976259 1064316226
4 128498668
513637339 62151118 158694610 650278927
2 351983999
4118288 333...

output:

33554432
0
288553983
0
0
0
268435456
0
149009740
386781916
437566564
385875968
0
315141961
271302559
33554432
0
0
0
95224229
129359372
134217728
134217728
268435456
0
67108864
33554432
0
0
0
268435456
0
0
134217728
67108864
268435456
212106049
67108864
0
268435456
4450845
268435456
0
67108864
378512...

result:

ok 66700 lines

Test #4:

score: 0
Accepted
time: 25ms
memory: 3592kb

input:

36360
1 96
43
4 13
34 87 65 66
10 19
30 15 3 46 37 35 84 82 83 74
9 4
52 54 49 62 46 31 8 85 85
5 11
47 60 16 125 73
2 82
41 86
6 53
96 106 117 88 37 54
4 88
25 85 70 116
6 77
2 7 10 15 83 79
4 93
41 35 10 121
3 54
39 49 73
8 14
10 1 18 59 62 61 66 89
9 66
58 39 26 17 122 117 107 97 98
9 95
29 23 0 ...

output:

97
0
0
0
0
64
0
16
8
16
32
2
4
4
0
0
6
15
79
31
2
0
64
4
4
0
4
6
4
3
0
8
9
8
0
8
0
4
30
0
2
4
4
24
2
4
4
0
2
48
4
2
0
4
13
0
0
32
47
8
0
2
0
21
8
0
0
0
0
4
42
0
16
0
2
64
8
22
16
4
4
32
16
0
0
0
8
0
14
42
29
0
16
8
0
0
0
8
28
71
0
33
16
8
6
4
4
28
0
0
32
4
8
32
82
0
0
0
0
85
16
0
16
19
32
1
4
32
0
1...

result:

ok 36360 lines

Test #5:

score: -100
Wrong Answer
time: 4ms
memory: 4380kb

input:

1
200000 4
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 1...

output:

16

result:

wrong answer 1st lines differ - expected: '0', found: '16'