两条代码 上100 下30 真没想出区别
#include<bits/stdc++.h>
using namespace std;
int m,s,t;
int k;
int dp[300001];
int main()
{
scanf("%d%d%d",&m,&s,&t);
for(int i=1; i<=t; i++)
{
if(m>=10)
{
m-=10;
dp[i]=dp[i-1]+60;
}
else
{
m+=4;
dp[i]=dp[i-1];
}
}
for(int i=1; i<=t; i++)
{
dp[i]=max(dp[i],17+dp[i-1]);
if(dp[i]>=s)
{
cout<<"Yes"<<endl<<i;
return 0;
}
}
cout<<"No"<<endl<<dp[t];
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int m,s,t;
int k;
int dp[300001];
int main(){
scanf("%d%d%d",&m,&s,&t);
for(int i=1;i<=t;i++)
{
if(m>=10){
m-=10;
dp[i]=dp[i-1]+60;
}
else{
m+=4;
dp[i]=dp[i-1];
}
dp[i]=max(dp[i],17+dp[i-1]);
if(dp[i]>=s){
cout<<"Yes"<<endl<<i;
return 0;
}
}
cout<<"No"<<endl<<dp[t];
return 0;
}