QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#810188 | #5115. Clone Ranran | SGColin | AC ✓ | 19ms | 3816kb | C++20 | 731b | 2024-12-11 20:16:41 | 2024-12-11 20:16:46 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
inline int rd() {
int x = 0;
bool f = 0;
char c = getchar();
for (; !isdigit(c); c = getchar()) f |= (c == '-');
for (; isdigit(c); c = getchar()) x = x * 10 + (c ^ 48);
return f ? -x : x;
}
template<typename T>
inline bool getmax(T &a, T b) {return a < b ? (a = b, true) : false;}
template<typename T>
inline bool getmin(T &a, T b) {return a > b ? (a = b, true) : false;}
inline void work() {
ll a = rd(), b = rd(), c = rd();
ll ans = 9e18;
for (int i = 0; i <= 30; ++i)
ans = min(ans, i * a + (c + (1 << i) - 1) / (1 << i) * b);
printf("%lld\n", ans);
}
int main() {
for (int t = rd(); t; --t) work();
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3816kb
input:
5 1 1 1 2 3 3 9 9 9 3 26 47 1064 822 1048576
output:
1 7 45 44 21860
result:
ok 5 number(s): "1 7 45 44 21860"
Test #2:
score: 0
Accepted
time: 19ms
memory: 3760kb
input:
99500 1000000000 1000000000 1000000000 1000000000 1000000000 999999999 1000000000 1000000000 999999998 1000000000 1000000000 999999997 1000000000 1000000000 999999996 1000000000 1000000000 999999995 1000000000 1000000000 999999994 1000000000 1000000000 999999993 1000000000 1000000000 999999992 10000...
output:
31000000000 31000000000 31000000000 31000000000 31000000000 31000000000 31000000000 31000000000 31000000000 31000000000 30999999998 30999999998 30999999998 30999999998 30999999998 30999999998 30999999998 30999999998 30999999998 30999999998 30999999996 30999999996 30999999996 30999999996 30999999996 ...
result:
ok 99500 numbers