Aizu Online Judge 2490 - Parentheses

解法

左括弧の数が常に右括弧の数以上であること, 最終的な括弧の数が等しいことを調べれば良いです.

ソースコード

#include <iostream>
using namespace std;

int main() {
    int n, l = 0;
    bool balance = true;
    cin >> n;

    for (int i = 0; i < n; i++) {
        char p;
        int x;
        cin >> p >> x;
        if (p == '(') l += x;
        else l -= x;
        balance &= l >= 0;
    }
    if (balance && (l == 0)) cout << "YES" << endl;
    else cout << "NO" << endl;

    return 0;
}

感想

やるだけでした.