結果
問題 | No.2372 既視感 |
ユーザー |
![]() |
提出日時 | 2023-07-07 22:09:34 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 23 ms / 2,000 ms |
コード長 | 1,213 bytes |
コンパイル時間 | 2,397 ms |
コンパイル使用メモリ | 209,732 KB |
最終ジャッジ日時 | 2025-02-15 07:33:34 |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 26 |
ソースコード
#include <bits/stdc++.h> using namespace std; using ll = long long; int main(){ int N, K, Q, ans, d, t, sm; string S; cin >> N >> K >> Q; map<string, int> mp; queue<string> que; while(Q){ Q--; cin >> t; if (t == 1){ cin >> S; que.push(S); mp[S]++; if (que.size() == N+1){ S = que.front(); que.pop(); mp[S]--; } } else{ sm = 0; ans = 0; vector<string> v; bool f=0; for (int i=0; i<6; i++){ cin >> S >> d; if (mp[S] > 0) d = min(d, K); if (!f && sm + d <= 60){ sm += d; ans++; v.push_back(S); } else f=1; } for (auto x : v){ que.push(x); mp[x]++; if (que.size() == N+1){ S = que.front(); que.pop(); mp[S]--; } } cout << ans << endl; } } return 0; }