求助简单题
  • 板块灌水区
  • 楼主continueOI喵呜ˆωˆ
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/10/14 12:50
  • 上次更新2023/11/2 13:56:51
查看原帖
求助简单题
882043
continueOI喵呜ˆωˆ楼主2023/10/14 12:50

小 A 需要移动 n−1n-1 个单位长度。

小 A 每 1 秒可以移动 1 个单位长度,但是也可以花费时间在原地蓄力。例如,当 小 A 在 xx 处蓄力了 ii 秒时,它下一次就可以花费 1 秒跳到 x+i2x+i^2 处,或者也可以选择继续蓄力。

当然,完成比赛是需要用身体接触红线的,因此 小 A 不可以跳过终点(也就是越过 nn)。

求小 A 到达终点所需最短的时间。

#include<bits/stdc++.h>
using namespace std;
long long n,ans,a;
int main(){
	ios::sync_with_stdio(0);
	cin.tie(0),cout.tie(0);
	cin>>n;
	n--;
	while(n>0){
		if(n<=3){
			ans+=n;break;
		}
		a=sqrt(n);
		ans+=a+1;
		n-=a*a;
	}
	cout<<ans;
	return 0;
}


为什么只有 9090 分

2023/10/14 12:50
加载中...