結果
問題 | No.2372 既視感 |
ユーザー |
|
提出日時 | 2023-07-07 21:38:06 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 4 ms / 2,000 ms |
コード長 | 3,917 bytes |
コンパイル時間 | 1,597 ms |
コンパイル使用メモリ | 174,688 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-21 17:22:47 |
合計ジャッジ時間 | 2,439 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 26 |
ソースコード
#line 2 "library/template/template.hpp"#include <bits/stdc++.h>#line 3 "library/template/macro.hpp"#define all(x) std::begin(x), std::end(x)#define rall(x) std::rbegin(x), std::rend(x)#define elif else if#define updiv(N, X) (((N) + (X) - (1)) / (X))#define sigma(a, b) ((a + b) * (b - a + 1) / 2)#define INT(...) \int __VA_ARGS__; \scan(__VA_ARGS__)#define LL(...) \ll __VA_ARGS__; \scan(__VA_ARGS__)#define STR(...) \string __VA_ARGS__; \scan(__VA_ARGS__)#define CHR(...) \char __VA_ARGS__; \scan(__VA_ARGS__)#define DOU(...) \double __VA_ARGS__; \scan(__VA_ARGS__)#define LD(...) \ld __VA_ARGS__; \scan(__VA_ARGS__)#define pb push_back#define eb emplace_back#line 3 "library/template/alias.hpp"using ll = long long;using ld = long double;using pii = std::pair<int, int>;using pll = std::pair<ll, ll>;constexpr int inf = 1 << 30;constexpr ll INF = 1LL << 60;constexpr int dx[8] = {1, 0, -1, 0, 1, -1, 1, -1};constexpr int dy[8] = {0, 1, 0, -1, 1, 1, -1, -1};constexpr int mod = 998244353;constexpr int MOD = 1e9 + 7;#line 3 "library/template/func.hpp"template <typename T>inline bool chmax(T& a, T b) { return ((a < b) ? (a = b, true) : (false)); }template <typename T>inline bool chmin(T& a, T b) { return ((a > b) ? (a = b, true) : (false)); }template <typename T, typename U>std::ostream &operator<<(std::ostream &os, const std::pair<T, U> &p) {os << p.first << " " << p.second;return os;}template <typename T, typename U>std::istream &operator>>(std::istream &is, std::pair<T, U> &p) {is >> p.first >> p.second;return is;}template <typename T>std::ostream &operator<<(std::ostream &os, const std::vector<T> &v) {for (auto it = std::begin(v); it != std::end(v);) {os << *it << ((++it) != std::end(v) ? " " : "");}return os;}template <typename T>std::istream &operator>>(std::istream &is, std::vector<T> &v) {for (T &in : v) {is >> in;}return is;}inline void scan() {}template <class Head, class... Tail>inline void scan(Head &head, Tail &...tail) {std::cin >> head;scan(tail...);}template <class T>inline void print(const T &t) { std::cout << t << '\n'; }template <class Head, class... Tail>inline void print(const Head &head, const Tail &...tail) {std::cout << head << ' ';print(tail...);}template <class... T>inline void fin(const T &...a) {print(a...);exit(0);}#line 3 "library/template/util.hpp"struct IOSetup {IOSetup() {std::cin.tie(nullptr);std::ios::sync_with_stdio(false);std::cout.tie(0);std::cout << std::fixed << std::setprecision(12);std::cerr << std::fixed << std::setprecision(12);}} IOSetup;#line 3 "library/template/debug.hpp"#ifdef LOCAL#include <debug_print.hpp>#else#define debug(...)#endif#line 8 "library/template/template.hpp"using namespace std;#line 2 "A.cpp"int main() {INT(N, K, Q);vector<string> S;while (Q--) {INT(t);if (t == 1) {STR(x);S.push_back(x);}if (t == 2) {vector<pair<string, int>> A(6);scan(A);int sum = 0;int cnt = 0;for (int i = 0; i < 6; i++) {for (int j = max(int(S.size()) - N, 0); j < int(S.size()); j++) {if (S[j] == A[i].first) {sum += min(A[i].second, K);goto next;}}sum += A[i].second;next:;if (sum > 60) {break;}cnt++;}print(cnt);for (int i = 0; i < cnt; i++) {S.push_back(A[i].first);}}}}