记录编号 512239 评测结果 AAAAAAAAAA
题目名称 [NOIP 2007]守望者的逃离 最终得分 100
用户昵称 Gravatar. 是否通过 通过
代码语言 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;
}