题解
2026-05-16 13:12:57
发布于:浙江
11阅读
0回复
0点赞
点个赞吧
题目大意
用能量补满体力去打仗涨战力,能量不够补体力就停下,求最终战力。
解题思路
能凑够体力就消耗能量提升战力,凑不齐就结束输出答案
参考代码
#include <bits/stdc++.h>
using namespace std;
int main(){
int m, n, x;
cin>>m>>n>>x; // 输入上限、初始战力、元素
// 能补满体力就一直循环
while(m>=n&&x*n>=m) {
x-=(m+n-1)/n; // 消耗元素(等价ceil)
n+=m/n; // 提升战力
}
cout<<n;
return 0;
}
时间复杂度O(log N)
这里空空如也





有帮助,赞一个