记录编号 |
512239 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[NOIP 2007]守望者的逃离 |
最终得分 |
100 |
用户昵称 |
. |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.006 s |
提交时间 |
2018-10-02 17:49:57 |
内存使用 |
1.46 MiB |
显示代码纯文本
#include<cstdio>
#include<iostream>
#include<stdio.h>
using namespace std;
int dp[300001];
int main(){
freopen("escape.in","r",stdin);
freopen("escape.out","w",stdout);
int m,s,t;
scanf("%d%d%d",&m,&s,&t);
for(int i=1;i<=t;i++){ //处理闪烁法术
if(m>=10){
dp[i]=dp[i-1]+60,m-=10;
} //如果能用,就用
else{
dp[i]=dp[i-1],m+=4;
} //否则休息
}
for(int i=1;i<=t;i++){
dp[i]=max(dp[i],dp[i-1]+17); //处理跑步,dp[i]为使用法术和跑步的最大值(最优)
if(dp[i]>=s){
printf("Yes\n%d",i);
return 0;
}
} //如果超过了距离s,就成功了,输出yes
printf("No\n%d",dp[t]); //没成功,输出no
return 0;
}