洛谷 P1095守望者的逃离题解--zhengjun
思路
因为跑和使用魔法不能同时执行,所以可以先处理光光使用魔法,然后再处理跑的情况
代码
#include<bits/stdc++.h>
using namespace std;
int m,s,t;
int f[300001];
int main(){
scanf("%d%d%d",&m,&s,&t);
for(int i=1;i<=t;i++){
if(m>=10)m-=10,f[i]=f[i-1]+60;
else m+=4,f[i]=f[i-1];
}
for(int i=1;i<=t;i++){
f[i]=max(f[i],f[i-1]+17);
if(f[i]>=s){
printf("Yes\n%d",i);
return 0;
}
}
printf("No\n%d",f[t]);
return 0;
}