結果
問題 |
No.945 YKC饅頭
|
ユーザー |
![]() |
提出日時 | 2019-12-16 10:19:16 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 345 ms / 2,000 ms |
コード長 | 850 bytes |
コンパイル時間 | 1,840 ms |
コンパイル使用メモリ | 183,636 KB |
実行使用メモリ | 24,828 KB |
最終ジャッジ日時 | 2024-07-02 19:32:26 |
合計ジャッジ時間 | 11,490 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 74 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define rep(i, n) for (int i = 0; i < (n); i++) typedef long long ll; typedef pair<int, int> pii; typedef vector<ll> vll; typedef vector<int> vi; typedef vector<vector<int>> vvi; typedef vector<vector<ll>> vvll; const ll inf = 1e16; const ll md = 1000000007; int main() { int n,m; cin>>n>>m; priority_queue<vi> q; priority_queue<vi> cmd; map<char,int> ttoi{{'Y',0},{'K',1},{'C',2}}; vi ans(3,0); rep(i,m){ int l,r; char t; cin>>l>>r>>t; l--;r--; cmd.push({-l,-i,r,ttoi[t]}); } rep(di,n){ while(cmd.size()>0 && -cmd.top()[0]<=di){ q.push({cmd.top()[1],cmd.top()[2],cmd.top()[3]}); cmd.pop(); } if(q.size()>0) ans[q.top()[2]]++; while(q.size()>0 && q.top()[1]<=di) q.pop(); } cout<<ans[0]<<" "<<ans[1]<<" "<<ans[2]<<endl; return 0; }