QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#698419#5115. Clone RanranIsacBieber#AC ✓18ms3672kbC++23525b2024-11-01 19:26:532024-11-01 19:26:54

Judging History

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

  • [2024-11-01 19:26:54]
  • 评测
  • 测评结果:AC
  • 用时:18ms
  • 内存:3672kb
  • [2024-11-01 19:26:53]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 1e5 + 5;
ll a, b, c;
void solve()
{
    cin>>a>>b>>c;
    ll now = 1, cur = 0, ans = 1e18;
    while(1)
    {
        ll res = cur + ((c+now-1)/(now))*b;
        ans = min(ans,res);
        if(now>=c) break;
        now <<= 1;
        cur += a;
    }
    cout<<ans<<'\n';
}
int main(void)
{
    ios::sync_with_stdio(0);
    cin.tie(0), cout.tie(0);
    int T = 1;
    cin >> T;
    while(T--) solve();
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3600kb

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: 18ms
memory: 3672kb

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