結果

問題 No.2922 Rose Garden
ユーザー Mizuno
提出日時 2024-10-12 16:18:51
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 1,251 bytes
コンパイル時間 527 ms
コンパイル使用メモリ 63,488 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-10-12 16:19:11
合計ジャッジ時間 4,080 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2 WA * 1
other AC * 19 WA * 31
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
using namespace std;


// スタミナ1減らし 高度B上げ
// 今の足場から隣に 高度が隣の足場の高さ未満の時無理
// 一回休憩してスタミナをS獲得 しかし高さはリセット


int main(void){
    // Your code here!
    int n,s,b,currentHigh,ss = 0;
    cin >> n >> s >> b;
    ss = s;
    int h[n],i = 0;
    for(int i = 0; i < n; i++)cin >> h[i];
    currentHigh = h[0];
    while(i != (n - 1)) {
        if(currentHigh >= h[i + 1]){
            if(currentHigh == h[i]) {
                ss = s;
            }
            i++;
            continue;
        }
        
        
        
        if(ss > 0){
            if((currentHigh + ss * b) < h[i + 1]){
                currentHigh = h[i];
                ss = s; 
                
                if(s * b < h[i + 1]){
                    cout << "No";
                    return 0;
                }
            }
            
            currentHigh += b;
            ss--;
        }
        else {
            currentHigh = h[i];
            ss = s; 
            
            if(s * b < h[i + 1]){
                cout << "No";
                return 0;
            }
        }
        
        
    
    }
    cout << "Yes";
}
0