求调,玄关
  • 板块题目总版
  • 楼主123456Zhe
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/1/15 15:54
  • 上次更新2025/1/15 20:14:25
查看原帖
求调,玄关
1339022
123456Zhe楼主2025/1/15 15:54

P1095 求调!!!

80pts,WA #5 #9

#include<bits/stdc++.h>
using namespace std;
unsigned int m,s,t,dp[300005];
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    cin>>m>>s>>t;
    for(int i=1;i<=t;i++){
        if(dp[i-1]+17>=s){
            cout<<"Yes"<<endl;
            cout<<i<<endl;
            return 0;
        }
        if(m>=10){
            dp[i]=dp[i-1]+60;
            m-=10;
        }else{
            int f=1,j=0;
            for(;m<10;j++){
                if(i+j==t){
                    f=0;
                    break;
                }
                m+=4;
            }
            if(f){
                int ti=i+j;
                dp[ti]=dp[i-1]+60;
                m-=10;
                i=ti;
            }else{
                dp[i]=dp[i-1]+17;
            }
        }
        //cout<<dp[i]<<' ';
        if(dp[i]>=s){
            cout<<"Yes"<<endl;
            cout<<i<<endl;
            return 0;
        }
    }
    if(dp[t]>=s){
        cout<<"Yes"<<endl;
        cout<<dp[t]-s<<endl;
    }else{
        cout<<"No"<<endl;
        cout<<dp[t]<<endl;
    }
    return 0;
}
2025/1/15 15:54
加载中...