結果
| 問題 |
No.2372 既視感
|
| コンテスト | |
| ユーザー |
umezo
|
| 提出日時 | 2023-07-09 06:45:58 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,286 bytes |
| コンパイル時間 | 2,315 ms |
| コンパイル使用メモリ | 211,932 KB |
| 最終ジャッジ日時 | 2025-02-15 09:17:21 |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 18 WA * 8 |
ソースコード
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define ALL(v) v.begin(), v.end()
typedef long long ll;
#include <bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int n,k,q;
cin>>n>>k>>q;
deque<string> deq;
map<string,int> mp;
while(q--){
int c;
cin>>c;
if(c==1){
string s;
cin>>s;
deq.push_back(s);
mp[s]++;
if((int)deq.size()>n){
auto a=deq.front(); deq.pop_front();
mp[a]--;
}
}
else{
vector<string> T(6);
vector<int> D(6);
rep(i,6) cin>>T[i]>>D[i];
int cnt=0;
int res=60;
rep(i,6){
if(mp[T[i]]>0){
if(res-min(k,D[i])>=0){
cnt++;
res-=min(k,D[i]);
deq.push_back(T[i]);
mp[T[i]]++;
}
else break;
}
else{
if(res-D[i]>=0){
cnt++;
res-=D[i];
deq.push_back(T[i]);
mp[T[i]]++;
}
else break;
}
}
cout<<cnt<<endl;
rep(i,cnt){
deq.push_back(T[i]);
mp[T[i]]++;
}
while(deq.size()>n){
auto a=deq.front(); deq.pop_front();
mp[a]--;
}
}
}
return 0;
}
umezo