QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#120030#6510. Best Carry Player 3exxqfuWA 22ms1752kbC++141.6kb2023-07-06 11:49:312023-07-06 11:49:34

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-07-06 11:49:34]
  • 评测
  • 测评结果:WA
  • 用时:22ms
  • 内存:1752kb
  • [2023-07-06 11:49:31]
  • 提交

answer

#include <cstdio>
#define rep(i, d, u) for(int i = d; i <= u; ++i)
#define cep(n) while(n--)
int ured() {
	int re = 0;
	char ch;
	do {
		ch = getchar();
	} while('9' < ch || ch < '0');
	do {
		re = re * 10 + (ch ^ '0');
	} while('0' <= (ch = getchar()) && ch <= '9');
	return re;
}
long long lred() {
	long long re = 0;
	char ch;
	do {
		ch = getchar();
	} while('9' < ch || ch < '0');
	do {
		re = re * 10 + (ch ^ '0');
	} while('0' <= (ch = getchar()) && ch <= '9');
	return re;
}
void lwit(long long da) {
	int ch[21], cn = 0;
	do {
		ch[++cn] = da - da / 10 * 10;
	} while(da /= 10);
	do {
		putchar('0' ^ ch[cn]);
	} while(--cn);
}
void swap(long long &le, long long &ri) {
	long long tp = le;
	le = ri, ri = tp;
}
int t, dpos, ddat;
long long x, y, s, rans;
int main() {
	t = ured();
	cep(t) {
		x = lred(), y = lred(), s = lred();
		if(x == y) {
			puts("0");
			continue;
		} else if(x > y) {
			swap(x, y);
		}
		if(s > 1) {
			dpos = 64 - __builtin_clzll(s);
			if((x ^ y) >> dpos) {
				if(s == (1ll << dpos) - 1) {
					rans = (y >> dpos) - (x >> dpos) - 1 << 1;
				} else {
					rans = ((y >> dpos) - (x >> dpos) - 1) * 3;
				}
				++rans;
				if(ddat = x & (1ll << dpos) - 1 ^ (1ll << dpos) - 1) {
					if(ddat <= s) {
						++rans;
					} else {
						rans += 2;
					}
				}
				if(ddat = y & (1ll << dpos) - 1) {
					if(ddat <= s) {
						++rans;
					} else {
						rans += 2;
					}
				}
				lwit(rans), putchar('\n');
			} else if((x ^ y) <= s || y == x + 1) {
				puts("1");
			} else {
				puts("2");
			}
		} else {
			lwit(y - x), putchar('\n');
		}
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

8
4 5 0
5 8 3
9 2 6
15 28 5
97 47 8
164 275 38
114514 1919 810
0 1152921504606846975 1

output:

1
2
3
5
11
6
331
1152921504606846975

result:

ok 8 numbers

Test #2:

score: 0
Accepted
time: 5ms
memory: 1752kb

input:

100000
84 318 6
54 226 7
92 33 0
39 54 5
76 79 7
247 110 0
211 90 0
4 430 3
230 17 1
491 93 5
196 117 7
137 29 2
76 490 6
422 43 7
277 26 4
159 43 1
67 37 5
17 2 5
113 176 7
85 473 0
68 217 7
275 8 7
124 34 1
30 66 0
80 149 3
103 149 6
84 354 1
27 342 7
94 114 1
69 125 1
72 48 7
361 8 7
285 82 1
74 ...

output:

87
45
59
6
1
137
121
213
213
150
21
81
156
95
95
116
12
6
16
388
39
67
90
36
35
17
270
79
20
56
6
89
203
108
26
15
157
98
111
389
174
123
59
289
78
17
21
36
275
191
17
102
60
93
100
11
6
79
44
63
91
60
22
109
11
3
10
67
11
85
207
47
39
83
156
189
107
27
81
247
81
335
33
144
11
50
54
347
233
175
30
7...

result:

ok 100000 numbers

Test #3:

score: 0
Accepted
time: 7ms
memory: 1740kb

input:

100000
322 25 2699
83 407 606
157 77 162
358 3 4064
407 35 1145
15 491 801
174 95 1886
67 93 2573
415 7 2014
16 203 2003
95 357 453
287 14 1247
63 108 3617
124 30 3806
116 425 830
483 63 2237
97 123 1194
124 460 2729
71 99 818
118 24 527
92 236 3298
446 55 413
0 122 3335
193 64 318
55 201 3120
475 8...

output:

1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
7
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
6
1
1
1
1
3
1
1
1
3
1
1
1
1
1
1
1
1
5
1
1
1
1
1
1
2
1
1
1
1
6
1
1
1
6
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
1
10
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
114
1
1
1
1
1
1
1
1...

result:

ok 100000 numbers

Test #4:

score: 0
Accepted
time: 11ms
memory: 1744kb

input:

100000
460 16 1999514420
38 120 459071025
36 5 435961014
415 44 1634888670
236 110 1172545331
116 449 1722938168
9 55 1093539809
98 9 2009254678
160 13 874849076
72 59 307472779
94 278 829310177
375 21 1588655085
85 272 1310414813
101 309 2072973009
96 370 510582365
55 6 285781515
45 99 743723479
43...

output:

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
...

result:

ok 100000 numbers

Test #5:

score: 0
Accepted
time: 6ms
memory: 1492kb

input:

100000
102 211 434535176914392191
113 382 10473939473902551
154 70 347749780432060530
307 4 770301859497555482
21 88 1148164284941713103
141 52 298799672146159282
86 67 592474494235856008
126 423 500925453682730053
72 23 751099353059890065
105 60 591595972426609814
1 312 322398882693527462
488 21 29...

output:

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
...

result:

ok 100000 numbers

Test #6:

score: 0
Accepted
time: 13ms
memory: 1520kb

input:

100000
900433230470865373 168 0
274936233345873548 263 0
107 912910047733415890 1
148108377912190269 159 1
637618261092082754 433 0
206160758979307706 117 5
374274670768546935 258 4
84 460392244654734212 6
568787141853147589 410 2
412 739540468281060656 2
420 372651009036366141 4
99 7542107804877648...

output:

900433230470865205
274936233345873285
912910047733415783
148108377912190110
637618261092082321
77310284617240347
140353001538205004
172647091745525298
426590356389860385
554655351210795183
139744128388637146
377105390243882372
137260618027802044
228162758321107513
238496406926521455
4701988644786694...

result:

ok 100000 numbers

Test #7:

score: 0
Accepted
time: 22ms
memory: 1492kb

input:

100000
188 488898411793715829 1662
510531470828119181 461 3880
438 860056315149583446 2443
42 812320392335060663 3402
217505267941559099 476 1869
733654172372163727 264 3646
489 830976331637915910 1805
320 291401742311195413 2413
727350143139117155 212 3564
741441713302666228 127 3543
235 6311872086...

output:

716159782900951
373924417110438
629924058947449
594961224854780
318611232336267
537344364530392
1217250485797728
213429010481833
532727155619470
543048129860350
924590637678442
364977615196297
623513894326819
700013580991870
919332840637041
328404862469641
208593246441270
504345408627412
79159378552...

result:

ok 100000 numbers

Test #8:

score: 0
Accepted
time: 4ms
memory: 1736kb

input:

100000
257065522585566918 30 1812115310
83844174930688960 422 1624142137
375 469381000404632137 2011601386
3 867947326951574129 565346038
492077250720556083 481 302247286
12568100705985631 46 1125722166
920283886245013913 437 1819207161
447 543496034445506022 1182065585
303 120270820941724589 262528...

output:

359116387
117128959
655717681
2425016818
2749695913
17557433
1285621738
759255190
1344131167
6268476244
3054607769
1236129328
238549747
166968007
1286435771
6436773067
125390267
2868985966
1322338912
945384623
1498197809
539118172
640614664
1478520541
626183317
9372581165
1142622586
1236092431
13418...

result:

ok 100000 numbers

Test #9:

score: -100
Wrong Answer
time: 10ms
memory: 1736kb

input:

100000
428068929935037839 388 630663327499068933
262 958123279540916859 771299383434598713
428 822514876586340933 987799047076516848
237287479925224365 312 424435087833422191
701225953118656766 161 833708981315149466
394956250518140170 204 217521001178891893
257 1053780657770182567 11160907334756932...

output:

1
2
1
1
1
3
1
1
1
1
1
3
3
33
2
15
3
1
9
1
2
1
2
2
2
2
1
2
1
1
1
3
2
1
1
12
1
1
2
2
9
6
63
12
1
1
1
1
1
2
486
1
3
6
3
1
1
1
1
3
3
1
3
2
1
3
9
1
1
2
3
1
2
9
3
3
1
2
2
2
2
3
2
3
3
1
24
1
2
9
2
3
1
1
12
12
1
1
1
15
1
1
1
2
2
45
6
1
6
1
2
1
1
3
2
2
3
9
2
9
1
1
3
2
2
6
2
2
3
2
2
2
1
1
1
1
1
1
1
2
6
1
1
1
...

result:

wrong answer 6th numbers differ - expected: '4', found: '3'