結果
| 問題 | No.2372 既視感 | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2023-07-07 21:32:54 | 
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 19 ms / 2,000 ms | 
| コード長 | 906 bytes | 
| コンパイル時間 | 1,751 ms | 
| コンパイル使用メモリ | 177,560 KB | 
| 実行使用メモリ | 6,948 KB | 
| 最終ジャッジ日時 | 2024-07-21 17:16:10 | 
| 合計ジャッジ時間 | 2,687 ms | 
| ジャッジサーバーID (参考情報) | judge3 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 26 | 
ソースコード
#include <bits/stdc++.h>
using namespace std;
int main() {
  cin.tie(0); cout.tie(0);
  ios::sync_with_stdio(false);
  int N, K, Q;
  cin >> N >> K >> Q;
  vector<string> vec;
  while(Q--) {
    int t;
    cin >> t;
    if(t == 1) {
      string s;
      cin >> s;
      vec.push_back(s);
    } else {
      set<string> st;
      for(int i = 0; i < min(N, (int) vec.size()); i++) {
        st.insert(vec[(int) vec.size() - i - 1]);
      }
      int ans = 0;
      int sum = 0;
      vector<string> add;
      for(int i = 0; i < 6; i++) {
        string t;
        int d;
        cin >> t >> d;
        if(st.find(t) == st.end()) {
          sum += d;
        } else {
          sum += min(d, K);
        }
        if(sum <= 60) {
          ans++;
          add.push_back(t);
        }
      }
      for(string t : add) {
        vec.push_back(t);
      }
      cout << ans << '\n';
    }
  }
  return 0;
}
            
            
            
        