QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#684576 | #9134. Building a Fence | icpc_zhzx034# | WA | 2ms | 3640kb | C++14 | 1.4kb | 2024-10-28 14:30:07 | 2024-10-28 14:30:10 |
Judging History
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 || (a << 1) + b == c || (b << 1) + a == 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;
}
详细
Test #1:
score: 100
Accepted
time: 1ms
memory: 3640kb
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: 3580kb
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 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 3 2 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 8 4 4 2 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 10 5 4 4 2 3 4 3 3 4 4 4 4 4 4 4 4 4 4 4 12 6 4 3 4 2 3 4 4 3 3 4 4 4 4 4 4 4 4 4 14 7 5 4 4 4 2 3 4 4 4 3 3 4 4 4 4 4 4 4 16 8 6 4 4 4 4 2 3 4 4 4 4 3 3 4 4 4 4 4 18 9 6 5 4 3 4 4...
result:
wrong answer 3rd numbers differ - expected: '4', found: '3'