记录编号 184096 评测结果 AAAAAAAAAA
题目名称 [NOIP 2007]守望者的逃离 最终得分 100
用户昵称 GravatarGod_is_dead 是否通过 通过
代码语言 C++ 运行时间 0.020 s
提交时间 2015-09-02 11:03:49 内存使用 2.60 MiB
显示代码纯文本
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <cstring>
#include <cmath>
using namespace std;
ifstream fin("escape.in");
ofstream fout("escape.out");
int ts[300005]={0};//在X秒时最多可以逃出多少米
int ms[300005]={0};//只使用魔法相关操作可以逃出的最远距离
int mp=0,sj=0,jl=0;//分别代表魔法值,时间和距离 
int main(void)
{
 fin>>mp>>jl>>sj;
 int least=0;//用来记录最短时间 
 for(int i=1;i<=sj;i++)
    {
     if(mp>=10)
       {
        mp-=10;
        ms[i]=ms[i-1]+60;//同下 
       }
     else
       {
        mp+=4;
        ms[i]=ms[i-1];//注意这里只能使用ms[i-1]中的值 
       }
     ts[i]=ts[i-1]+17;
     if(ts[i]<ms[i])ts[i]=ms[i];
    //    cout<<ts[i]<<"\n";
     if(ts[i]>=jl)
       {
        least=i;
        break;
       }
    }
 if(least!=0||ts[sj]>=jl)fout<<"Yes\n"<<least;
 else fout<<"No\n"<<ts[sj];
 return 0;
}