QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#638613#5115. Clone Ranranwzxtsl#AC ✓27ms3700kbC++23684b2024-10-13 16:23:262024-10-13 16:23:28

Judging History

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

  • [2024-10-13 16:23:28]
  • 评测
  • 测评结果:AC
  • 用时:27ms
  • 内存:3700kb
  • [2024-10-13 16:23:26]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define fast ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
#define For(i,aa,ac) for(int i=aa;i<=ac;i++)
int n,m;
const int N=2e6+7,INF=1e18;
int a,b,c,ans;
int p[50];
void solve(){
    ans=INF;
    cin>>a>>b>>c;
    For(i,0,31)
    {
        if(p[i]>=c)
        {
            ans=min(ans,i*a+b);break;
        }
        else{
            int bb=(c+p[i]-1)/p[i];
            ans=min(ans,i*a+b*bb);
        }
    }
    cout<<ans<<endl;
}
signed main(){
    fast;
    int t=1;
    p[0]=1;
    For(i,1,32)
        p[i]=2*p[i-1];
    cin>>t;
    while(t--){
        solve();
    }
}

详细

Test #1:

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

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: 27ms
memory: 3700kb

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