专栏文章

题解:P1095 [NOIP2007 普及组] 守望者的逃离

P1095题解参与者 3已保存评论 2

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
2 条
当前快照
1 份
快照标识符
@miqh19gx
此快照首次捕获于
2025/12/04 04:40
3 个月前
此快照最后确认于
2025/12/04 04:40
3 个月前
查看原文
我们可以使用贪心同时维护跑步和休息。先记下使用魔法的地方,然后跑步的位置可以由之前使用魔法的地方继续走,最后取最大值就可以了。
代码:
CPP
#include<bits/stdc++.h>
#define int long long
using namespace std;
int m,s,t;
int d=0,maxx=-1e18;
signed main(){
	cin>>m>>s>>t;
	for(int i=1;i<=t;i++){
		if(m>=10){
			m-=10;
			d+=60;
		}
		else{
			m+=4;	
		}
		maxx+=17;
		if(d>maxx){
			maxx=d;
		}
		if(maxx>s){
			cout<<"Yes"<<endl;
			cout<<i<<endl;
			return 0; 
		}
	}
	cout<<"No"<<endl;
	cout<<maxx<<endl;
	return 0; 
}

评论

2 条评论,欢迎与作者交流。

正在加载评论...