QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#65424#5115. Clone RanranressoaAC ✓47ms3436kbC++17653b2022-11-30 16:14:272022-11-30 16:14:29

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-11-30 16:14:29]
  • 评测
  • 测评结果:AC
  • 用时:47ms
  • 内存:3436kb
  • [2022-11-30 16:14:27]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll qpow(ll a,ll b){
    ll ans=1;
    while(b>0){
        if(b&1)ans*=a;
        a*=a;
        b>>=1;
    }
    return ans;
}
void solve(){
    ll a,b,c,cur=1,ans=1e18;
    cin>>a>>b>>c;
    int cnt=0;
    while(cur<=c)cur<<=1,cnt++;
    for(int i=0;i<=cnt;i++){
        ll now=qpow(2,i),res=i*a;
        res+=(c/now+(c%now!=0))*b;
        ans=min(ans,res);
    }
    cout<<ans<<'\n';
    return void();
}
int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int t=1;
    cin>>t;
    while(t--){
        solve();
    }
    return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 2ms
memory: 3352kb

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: 47ms
memory: 3436kb

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