ABC151 C - Welcome to AtCoder
問題はこちら atcoder.jp
方針
各 に対して,
if 問題P[i]がAC済{ continue }else{ if 提出iがAC{ 正解数++ ペナルティ数+=問題P[i]のWA数 }else{ 問題P[i]のWA数++ } }
という操作を行います。
コード
#include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0; i<(n); i++) int main(){ int n,m; cin>>n>>m; vector<int> p(m); vector<string> s(m); REP(i,m){ cin>>p[i]>>s[i]; } vector<bool> judge(n); vector<int> wa(n); int numC=0,penalty=0; REP(i,m){ if(judge[p[i]-1]){ continue; }else{ if(s[i]=="AC"){ numC++; penalty+=wa[p[i]-1]; judge[p[i]-1]=true; }else{ wa[p[i]-1]++; } } } cout<<numC<<" "<<penalty<<endl; }