結果
| 問題 |
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;
}
東前頭十一枚目