QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#213419 | #5115. Clone Ranran | ucup-team1001# | AC ✓ | 23ms | 3728kb | C++20 | 978b | 2023-10-14 14:10:23 | 2023-10-14 14:10:23 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
using ll = long long;
#define irep(i,l,r) for(int i = l; i <= r; ++i)
#define drep(i,r,l) for(int i = r; i >= l; -- i)
#define int ll
#define endl "\n"
#define no cout << "NO" << endl
#define yes cout << "YES" << endl
#define pb push_back
#define mkp make_pair
#define fi first
#define se second
#define ary(i) array<ll,(i)>
#define all(x) x.begin(),x.end()
const int maxn=2e5+7;
const int inf=numeric_limits<int>::max();
const int mod=998244353;
void solve(){
int a,b,c;
cin>>a>>b>>c;
int mintime = inf;
int k=1;
int t=0;
while (k<2*c){
int t1=t+c/k*b+ (c%k!=0)*b;
mintime=min(mintime,t1);
k*=2;
t+=a;
}
cout<<mintime<<endl;
}
#undef int
int main()
{
IOS
int n;
cin>>n;
// n=1;
while(n--){
solve();
}
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3584kb
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: 23ms
memory: 3728kb
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