萌新解惑
查看原帖
萌新解惑
952663
fjh0531楼主2023/10/18 19:02

两条代码 上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;
}
2023/10/18 19:02
加载中...