QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#684555#9134. Building a Fenceicpc_zhzx034#WA 2ms3644kbC++141.4kb2024-10-28 14:22:212024-10-28 14:22:22

Judging History

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

  • [2024-10-28 14:22:22]
  • 评测
  • 测评结果:WA
  • 用时:2ms
  • 内存:3644kb
  • [2024-10-28 14:22:21]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair <ll,ll> P;
#define _for(x,y,z) for (int x(y),_(z); x<=_; ++x)
#define _rep(x,y,z) for (int x(y),_(z); x>=_; --x)
inline ll read(){ ll x; cin>>x; return x; }
inline void _init(){
	#ifdef LOCAL
		assert(freopen("test.in", "r", stdin));
		assert(freopen("test.out", "w", stdout));
	#endif
	ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
}

ll a, b, c;

inline ll _ceil(ll a, ll b) {
	return a / b + !!(a % b);
}

void init() {}
void procedure() {
	cin >> a >> b >> c;
	if (a > b) {
		swap(a, b);
	}
	if (a >= c) {
		cout << _ceil((a + b) << 1, c) << "\n";
		return;
	}
	if (b < c) {
		if (a + b == c) {
			cout << "2\n";
		} else if ((a << 1) == c || (b << 1) == c) {
			cout << "3\n";
		} else {
			cout << "4\n";
		}
		return;
	}
	if ((a << 1) == c) {
		cout << 1 + _ceil((b << 1), c) << "\n";
		return;
	}
	a = c - a;
	ll ans = _ceil(b << 1, c);
	ll t = b - a;
	if (t >= 0) {
		ans = min(ans, _ceil(b + t, c));
	}
	t = b - (a << 1);
	if (t >= 0) {
		ans = min(ans, _ceil(b + t, c));
	}
	t = b - a;
	if (t >= c) {
		ans = min(ans, _ceil(t << 1, c));
	} else {
		if ((t << 1) == c) {
			ans = min(ans, 1ll);
		} else {
			ans = min(ans, 2ll);
		}
	}
	cout << ans + 2 << "\n";
}

int main() {
	_init(), init();
	int T=read();
	while(T--) procedure();
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

7
7 9 4
1 1 2
1 1 4
4 6 2
3 3 5
10 6 4
1 11 5

output:

8
2
4
10
4
8
5

result:

ok 7 numbers

Test #2:

score: -100
Wrong Answer
time: 2ms
memory: 3644kb

input:

8000
1 1 1
1 1 2
1 1 3
1 1 4
1 1 5
1 1 6
1 1 7
1 1 8
1 1 9
1 1 10
1 1 11
1 1 12
1 1 13
1 1 14
1 1 15
1 1 16
1 1 17
1 1 18
1 1 19
1 1 20
1 2 1
1 2 2
1 2 3
1 2 4
1 2 5
1 2 6
1 2 7
1 2 8
1 2 9
1 2 10
1 2 11
1 2 12
1 2 13
1 2 14
1 2 15
1 2 16
1 2 17
1 2 18
1 2 19
1 2 20
1 3 1
1 3 2
1 3 3
1 3 4
1 3 5
1 3...

output:

4
2
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
6
3
2
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
8
4
4
2
4
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
10
5
4
4
2
4
4
3
4
4
4
4
4
4
4
4
4
4
4
4
12
6
4
3
4
2
4
4
4
3
4
4
4
4
4
4
4
4
4
4
14
7
5
4
4
4
2
4
4
4
4
3
4
4
4
4
4
4
4
4
16
8
6
4
4
4
4
2
4
4
4
4
4
3
4
4
4
4
4
4
18
9
6
5
4
3
4
4...

result:

wrong answer 423rd numbers differ - expected: '3', found: '4'