結果
問題 | No.2421 entersys? |
ユーザー |
![]() |
提出日時 | 2023-08-12 17:12:33 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 1,438 ms / 3,000 ms |
コード長 | 2,192 bytes |
コンパイル時間 | 4,620 ms |
コンパイル使用メモリ | 252,392 KB |
実行使用メモリ | 60,800 KB |
最終ジャッジ日時 | 2024-11-20 07:12:38 |
合計ジャッジ時間 | 27,711 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 28 |
コンパイルメッセージ
main.cpp: In function 'int main()': main.cpp:73:22: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions] 73 | auto [a, b] = *it; | ^
ソースコード
#include <bits/stdc++.h>using namespace std;#include <atcoder/all>using namespace atcoder;#define rep(i, n) for(int i=0;i<(n);++i)#define rep1(i, n) for(int i=1;i<=(n);i++)#define ll long longusing mint = modint998244353;using P = pair<ll,ll>;using lb = long double;using T = tuple<ll, ll, ll>;#ifdef LOCAL# include <debug_print.hpp># define dbg(...) debug_print::multi_print(#__VA_ARGS__, __VA_ARGS__)#else# define dbg(...) (static_cast<void>(0))#endifint main(){int n;cin >> n;map<int, int> mp;vector<string> x(n);vector<int> l(n), r(n);rep(i,n){cin >> x[i] >> l[i] >> r[i];mp[l[i]] = 0;mp[r[i]] = 0;mp[r[i]+1] = 0;}int q;cin >> q;vector<int> t(q), L(q), R(q), T(q);vector<string> X(q);rep(qi,q){cin >> t[qi];if(t[qi]==1){cin >> X[qi] >> T[qi];mp[T[qi]] = 0;}else if(t[qi]==2){cin >> T[qi];mp[T[qi]] = 0;mp[T[qi]+1] = 0;}else{cin >> X[qi] >> L[qi] >> R[qi];mp[L[qi]] = 0;mp[R[qi]] = 0;mp[R[qi]+1] = 0;}}int m = 0;for(auto & p : mp){p.second = m++;}fenwick_tree<int> bit(m);map<string, set<pair<int, int>>> xs;rep(i,n){bit.add(mp[l[i]], 1);bit.add(mp[r[i]+1], -1);xs[x[i]].emplace(l[i], r[i]);}rep(qi,q){if(t[qi]==1){auto it = xs[X[qi]].upper_bound({T[qi], 1e9});if(it==xs[X[qi]].begin()){cout << "No" << endl;}else{it--;auto [a, b] = *it;if(a<=T[qi] && T[qi]<=b){cout << "Yes" << endl;}else{cout << "No" << endl;}}}else if(t[qi]==2){cout << bit.sum(0, mp[T[qi]+1]) << endl;}else{xs[X[qi]].emplace(L[qi], R[qi]);bit.add(mp[L[qi]],1);bit.add(mp[R[qi]+1],-1);}}return 0;}