結果

問題 No.1990 Candy Boxes
ユーザー みここ
提出日時 2022-06-24 22:43:43
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 940 bytes
コンパイル時間 736 ms
コンパイル使用メモリ 71,988 KB
実行使用メモリ 6,824 KB
最終ジャッジ日時 2024-11-20 15:29:00
合計ジャッジ時間 4,483 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 5
other AC * 68 WA * 3
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function 'int main()':
main.cpp:34:15: warning: 'h' may be used uninitialized [-Wmaybe-uninitialized]
   34 |     if(h[n - 1] != 0)
      |        ~~~~~~~^
main.cpp:14:9: note: 'h' declared here
   14 |     int h[200005];
      |         ^

ソースコード

diff #

#include <iostream>
#include <stack>
using namespace std;

int main()
{
    int n;
    cin >> n;
    int b[200005];
    for(int i = 0; i < n; i++)
    {
        cin >> b[i];
    }
    int h[200005];
    stack<int> st;
    for(int i = 0; i < n; i++)
    {
        if(st.size() && b[i] % 2 == b[st.top()] % 2)
        {
            h[i] = h[st.top()];
            st.pop();
        }
        else
        {
            h[i] = st.size();
            st.push(i);
        }
        if(h[i] > b[i])
        {
            cout << "No" << endl;
            return 0;
        }
    }
    if(h[n - 1] != 0)
    {
        cout << "No" << endl;
        return 0;
    }
    for(int i = 0; i < n - 1; i++)
    {
        if(b[i] > b[i + 1])
        {
            cout << "No" << endl;
            return 0;
        }
        b[i + 1] -= b[i];
    }
    if(b[n - 1])
    {
        cout << "No" << endl;
        return 0;
    }
    cout << "Yes" << endl;
}
0