QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#665482#5115. Clone RanranRepeater#AC ✓19ms3628kbC++20444b2024-10-22 13:21:542024-10-22 13:21:55

Judging History

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

  • [2024-10-22 13:21:55]
  • 评测
  • 测评结果:AC
  • 用时:19ms
  • 内存:3628kb
  • [2024-10-22 13:21:54]
  • 提交

answer

#include <bits/stdc++.h>

using i64 = long long;

constexpr i64 INF = 1e18;

void solve()
{
	i64 a, b, c; std::cin >> a >> b >> c;

	i64 ans = INF;
	for(i64 i = 0; (1LL << i) <= 2 * c; i++)
		ans = std::min(ans, i * a + (c + (1 << i) - 1) / (1 << i) * b);
	
	std::cout << ans << "\n";
}

int main()
{
	std::ios::sync_with_stdio(false);
	std::cin.tie(nullptr);

	int t; std::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: 3568kb

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: 19ms
memory: 3628kb

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