結果
問題 | No.2372 既視感 |
ユーザー |
![]() |
提出日時 | 2023-07-07 22:20:38 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 2,973 bytes |
コンパイル時間 | 3,984 ms |
コンパイル使用メモリ | 234,676 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-07-21 18:26:32 |
合計ジャッジ時間 | 5,042 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 6 WA * 20 |
ソースコード
#include <bits/stdc++.h> #include <iostream> #include <vector> #include <algorithm> #include <list> #include <atcoder/all> using namespace std; #define reps(i, a, n) for (int i = (a); i < (int)(n); ++i) #define rep(i, n) reps(i, 0, n) #define repe(i,n) for(auto i : n) #define ALL(x) x.begin(),x.end() #define SIZE(x) ll(x.size()) #define INF32 2147483647 //2.147483647×10^{9}:32bit整数のinf #define INF64 9223372036854775807 //9.223372036854775807×10^{18}:64bit整数のinf #define MOD 1000000007 //問題による #define F first #define S second #define cYes cout << "Yes" << endl; #define cNo cout << "No" << endl; #define ll long long #define vmax(x) *max_element(x.begin(), x.end()) #define vmin(x) *min_element(x.begin(), x.end()) #define coutALL(x) for(auto i=x.begin();i!=--x.end();i++)cout<<*i<<" ";cout<<*--x.end()<<endl; #define coutALL2d(vv) for(const auto& v : vv){for(const auto& e : v){cout << e << " ";}cout << endl;} #define cout2(x,y) cout << x << " " << y << endl; #define cout3(x,y,z) cout << x << " " << y << " " << z << endl; #define vi vector<int> #define vvi vector<vector<int> > #define vll vector<long long> #define vvll vector<vector<long long> > int main(){ int n,k,q; cin >> n >> k >> q; vector<string> que; rep(i,q){ int x; cin >> x; if(x == 1){ string s; cin >> s; que.push_back(s); } else{ int d; string t; vector<string> tmp(6); vi timer(8); int ff = 0; rep(j,6){ cin >> t >> d; int f = 0; tmp[j] = t; int ite = que.size() - n; if( ite < 0) ite = 0; for(int r = que.size()-1; r >= ite; r--) { if(que[r] == t){ f = 1; break; } } if(f){ timer[j+1] = timer[j] + k; } else{ timer[j+1] = timer[j] + d; } } timer[7] = 1e9; reps(j,1,8){ if(timer[j] > 60){ cout << j-1 << endl; ff = 1; break; } else{ int f = 0; int ite = que.size() - n; if( ite < 0) ite = 0; for(int r = que.size()-1; r >= ite; r--) { if(que[r] == tmp[j-1]){ f = 1; break; } } if(!f) que.push_back(tmp[j-1]); } } if(!ff){ cout << 6 << endl; } //coutALL(que); } } }