はまやんはまやんはまやん

hamayanhamayan's blog

Welcome to AtCoder [AtCoder Beginner Contest 151 C]

https://atcoder.jp/contests/abc151/tasks/abc151_c

解説

https://atcoder.jp/contests/abc151/submissions/9452214

シミュレーション問題となる。
各問題についてACしているかどうかを保持する配列solvedとWA数を保持する配列waを定義しておいて、
時系列順にシミュレーションする。
シミュレーション後に、2つの配列を見て、正答数とペナルティ数を集計して答えよう。

int N, M;
bool solved[101010];
int wa[101010];
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> N >> M;

    rep(i, 0, M) {
        int p; string s; cin >> p >> s;
        p--;

        if (s == "WA" and !solved[p]) wa[p]++;
        if (s == "AC") solved[p] = true;
    }

    int correct = 0, penalty = 0;
    rep(i, 0, N) if (solved[i]) {
        correct++;
        penalty += wa[i];
;   }

    cout << correct << " " << penalty << endl;
}