QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#65102#5115. Clone RanransunseaTL 0ms3356kbC++14418b2022-11-27 16:27:512022-11-27 16:27:54

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-27 16:27:54]
  • 评测
  • 测评结果:TL
  • 用时:0ms
  • 内存:3356kb
  • [2022-11-27 16:27:51]
  • 提交

answer

#include<bits/stdc++.h>
#define int long long
using namespace std;
void solve(){
	int a,b,c;
	cin>>a>>b>>c;
	int t=0;
	int z=c;
	while(z>1){
		t++;
		z>>=1;
	}
	t++;
	int ans=0x3f3f3f;
	for(int i=0;i<=t;i++){
		int num=(1<<i);
		int x=(c/num)+(c%num!=0);
		//cout<<x<<" "<<num<<endl;
		ans=min(ans,x*b+i*a);
	}
	cout<<ans<<endl;	
}
signed main(){
	int _;cin>>_;while(_--) solve();
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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: -100
Time Limit Exceeded

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:

4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144959
4144...

result: