QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#418791#5115. Clone RanranreverSillyAC ✓22ms3656kbC++23594b2024-05-23 15:44:292024-05-23 15:44:29

Judging History

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

  • [2024-05-23 15:44:29]
  • 评测
  • 测评结果:AC
  • 用时:22ms
  • 内存:3656kb
  • [2024-05-23 15:44:29]
  • 提交

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;
}

Details

Tip: Click on the bar to expand more detailed information

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