QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#65152 | #5115. Clone Ranran | JWChen# | AC ✓ | 38ms | 3668kb | C++14 | 703b | 2022-11-27 19:45:48 | 2022-11-27 19:45:51 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll T,a,b,c;
ll p[1001],s;
ll ans;
int main()
{
scanf("%lld",&T);
p[0]=1;
for(int i=1;;i++)
{
p[i]=2*p[i-1];
if(p[i]>=1e9)
{
s=i;
break;
}
}
// printf("%lld %lld\n",s,p[s]);
while(T--)
{
scanf("%lld%lld%lld",&a,&b,&c);
ans=0;
for(ll i=0;i<=30;++i)
{
ll tmp;
tmp=c/p[i];
if(c%p[i]!=0) tmp++;
if(ans==0) ans=a*i+tmp*b;
else ans=min(ans,a*i+tmp*b);
if(p[i]>=c) break;
}
printf("%lld\n",ans);
}
}
詳細信息
Test #1:
score: 100
Accepted
time: 2ms
memory: 3668kb
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: 38ms
memory: 3484kb
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