結果
問題 |
No.945 YKC饅頭
|
ユーザー |
![]() |
提出日時 | 2019-12-12 11:40:34 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 386 ms / 2,000 ms |
コード長 | 682 bytes |
コンパイル時間 | 1,806 ms |
コンパイル使用メモリ | 176,164 KB |
実行使用メモリ | 20,892 KB |
最終ジャッジ日時 | 2024-06-24 21:30:23 |
合計ジャッジ時間 | 10,360 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 74 |
ソースコード
#include <bits/stdc++.h> using namespace std; vector<int> imos[200010]; int main() { int n, m; cin >> n >> m; int l[m], r[m], c[m]; for(int i = 0; i < m; ++i) { char cc; cin >> l[i] >> r[i] >> cc; --l[i]; imos[l[i]].push_back(i); imos[r[i]].push_back(i); const char v[] = {'Y', 'K', 'C'}; for(int j = 0; j < 3; ++j) { if(v[j] == cc) c[i] = j; } } set<int> st; int cnt[3] = {}; for(int i = 0; i < n; ++i) { for(int x : imos[i]) { auto itr = st.find(x); if(itr != st.end()) { st.erase(itr); } else { st.insert(x); } } if(st.empty()) continue; ++cnt[c[*st.begin()]]; } printf("%d %d %d\n", cnt[0], cnt[1], cnt[2]); return 0; }