QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#158722#7102. Live Loveucup-team1234#WA 1ms3688kbC++171.6kb2023-09-02 16:54:402023-09-02 16:54:41

Judging History

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

  • [2023-09-02 16:54:41]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:3688kb
  • [2023-09-02 16:54:40]
  • 提交

answer

/*
 * @Date: 2023-04-26 00:30:57
 * @Description: 请填写简介
 */
#include <bits/stdc++.h>

using i64 = long long;

template<typename A, typename B> std::ostream& operator<<(std::ostream &os, const std::pair<A, B> &p) {
	return os << '(' << p.first << ", " << p.second << ')';
}
template<typename T_container, typename T = 
typename std::enable_if<!std::is_same<T_container, std::string>::value, typename T_container::value_type>::type> 
std::ostream& operator<<(std::ostream &os, const T_container &v) { 
	os << '{'; std::string sep; for (const T &x : v) os << sep << x, sep = ", "; return os << '}';
}
void debug_out() { std::cerr << std::endl; }
template<typename Head, typename... Tail> void debug_out(Head H, Tail... T) { std::cerr << ' ' << H; debug_out(T...); }
#define debug(...) std::cerr << "(" << #__VA_ARGS__ << "):", debug_out(__VA_ARGS__)

void solve() {
	int n, m;
	std::cin >> n >> m;
	int mx = m;
	int mi = 0;
	// PNPN
	// 5 4
	// 1 4
	// PPNPP
	// PNP NP
	if(n == m) {
		std::cout << m << " " << m << "\n";
		return;
	}
	if(m == 0) {
		std::cout << 0 << " " << 0 << "\n";
		return;
	}
	for(int i = 1; i <= 1e6; i ++) {
		int cnt = n / (i * 2);
		// cnt = 2
		int now = cnt * i;
		int sum1 = m - now, sum2 = n - m - cnt + 1; // 还剩下的 P 和 N
		if(now <= m && sum1 >= 0 && sum2 >= 0) {
			int cn = sum1 / i;
			if(sum2 >= cn) {
				mi = i;
				break;
			}
		}
		if(sum1 < 0) {
			mi = i;
			break;
		}
	}
	std::cout << mx << " " << mi << "\n";
}

int main() {
	std::cin.tie(nullptr)->sync_with_stdio(false);
	int _ = 1; std::cin >> _;
	while(_--) solve();
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3672kb

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: -100
Wrong Answer
time: 0ms
memory: 3688kb

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 35
314 8
2 2
47 3
194 1
213 7
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 26
173 1
780 4
180 1
0 0
574 4
8 1
118 1
126 1
12 2
34 1
381 20
658 4
288 4
161 1
76 1
195 1
646 6
27 1
9 2...

result:

wrong answer 7th lines differ - expected: '789 36', found: '789 35'