QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#418791 | #5115. Clone Ranran | reverSilly | AC ✓ | 22ms | 3656kb | C++23 | 594b | 2024-05-23 15:44:29 | 2024-05-23 15:44:29 |
Judging History
answer
#include<bits/stdc++.h>
#define int long long
using namespace std;
int T;
int ceildiv(int a,int b)
{
if(a%b==0)
return a/b;
return a/b+1;
}
int solve(int a,int b,int c)
{
if(c==0)
return 0;
int ans=b*c;
for(int now=0,ranran=1;ranran<c*2;ranran<<=1,now+=a)
{
ans=min(ans,now+ceildiv(c,ranran)*b);
}
return ans;
}
main()
{
cin.tie(nullptr);
ios::sync_with_stdio(false);
cin>>T;
while(T--)
{
int a,b,c;
cin>>a>>b>>c;
cout<<solve(a,b,c)<<'\n';
}
return 0;
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3656kb
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: 22ms
memory: 3596kb
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