QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#200156#7102. Live Lovey_kx_bAC ✓0ms3952kbC++142.5kb2023-10-04 15:33:572023-10-04 15:33:57

Judging History

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

  • [2023-10-04 15:33:57]
  • 评测
  • 测评结果:AC
  • 用时:0ms
  • 内存:3952kb
  • [2023-10-04 15:33:57]
  • 提交

answer

// Problem: A. Live Love
// Contest: undefined - The 2nd Universal Cup. Stage 1: Qingdao
// URL: https://qoj.ac/contest/1339/problem/7102
// Memory Limit: 1024 MB
// Time Limit: 1000 ms
// 
// Powered by CP Editor (https://cpeditor.org)

#include<bits/stdc++.h>
#define gc getchar
#define itn int
#define x first
#define y second
#define eb emplace_back
#define em emplace
#define pb push_back
#define db double
#define y1 yy1_yyds
using namespace std; typedef long long ll; typedef unsigned long long ull;
// https://www.luogu.com.cn/discuss/522581 About "const"
ll read() {
	ll x = 0; short fh = 1; char ch = gc();
	while (!isdigit(ch)) {
		if (ch == '-') fh = -1;
		if (ch < 10) exit(0); 
		ch = gc();
	}
	while (isdigit(ch))
		x = x * 10 + (ch ^ 48), ch = gc();
	return fh * x;
}
#ifndef ONLINE_JUDGE
void debug() {cerr << "\n";}
template<typename Typ1> void debug(Typ1 arg) {cerr << arg << "\n";}
template<typename Typ1, typename ...Typ2> void debug(Typ1 arg, Typ2 ...args) {
	cerr << arg << " ", debug(args...);
}
#else
void debug() {}
template<typename Typ1> void debug(Typ1 arg) {}
template<typename Typ1, typename ...Typ2> void debug(Typ1 arg, Typ2 ...args) {}
#endif
void writeln(ll arg) {printf("%lld\n", arg);}
template<typename ...Typ2> void writeln(ll arg, Typ2 ...args) {
	printf("%lld ", arg), writeln(args...);
}
typedef pair <int, int> pii; typedef pair <ll, ll> pll;
const char Y_E_S[] = "YES", N__O[] = "NO";
// const char Y_E_S[] = "Yes", N__O[] = "No";
// #define infinite_testcase
#define multiple_testcase
// #define output_Yes_No
const int DUST = 327, N = -1, M = -1;
bool major(int Case = 1) {
	int n = read(), m = read();
	//smin = x
	//(m/x) * (x + 1) - [x | m] + (m mod x) <= n
	if(m == 0) return puts("0 0");
	int l = /*-1*/0, r = m;
	while(l + 1 < r) {
		int x = (l + r) >> 1;
		if((m / x) * (x + 1) + (m % x ? m % x : -1) <= n) r = x;
		else l = x;
	}
	writeln(m, r);
	return Case ^= Case ^ Case;
}
void initial_function(int argc, char **argv) {
	**argv = argc; /* <- place_holder
	you won't give up no matter what happens, will you?
	code time: 
	---
	
	*/
}
signed main(int argc, char **argv) {
	initial_function(argc, argv);
	int Case = 1, Maxcase = 1;
	for (
#ifdef multiple_testcase
		  Maxcase = read()
#endif
				     	  ;
#ifndef infinite_testcase
							Case <= Maxcase
#endif
				     					   ; Case++)
#ifdef output_Yes_No
		puts(major(Case) ? Y_E_S : N__O);
#else
		major(Case);
#endif
	return DUST ^ 0x147;
}


这程序好像有点Bug,我给组数据试试?

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

5
5 4
100 50
252 52
3 0
10 10

output:

4 2
50 1
52 1
0 0
10 10

result:

ok 5 lines

Test #2:

score: 0
Accepted
time: 0ms
memory: 3952kb

input:

100
13 3
384 171
94 36
581 70
782 715
651 287
810 789
353 314
2 2
65 47
684 194
242 213
135 42
695 484
512 195
14 0
721 253
665 257
381 78
456 220
1000 500
1000 501
31 31
703 484
137 1
271 55
666 366
966 316
457 248
166 38
716 679
972 258
627 91
380 1
451 436
605 173
987 780
457 180
2 0
718 574
119 ...

output:

3 1
171 1
36 1
70 1
715 11
287 1
789 36
314 8
2 2
47 3
194 1
213 8
42 1
484 3
195 1
0 0
253 1
257 1
78 1
220 1
500 1
501 2
31 31
484 3
1 1
55 1
366 2
316 1
248 2
38 1
679 18
258 1
91 1
1 1
436 28
173 1
780 4
180 1
0 0
574 4
8 1
118 1
126 1
12 2
34 1
381 21
658 4
288 4
161 1
76 1
195 1
646 6
27 1
9 2...

result:

ok 100 lines

Extra Test:

score: 0
Extra Test Passed