結果
問題 | No.2421 entersys? |
ユーザー | xuelei |
提出日時 | 2023-08-12 15:20:52 |
言語 | C++14 (gcc 12.3.0 + boost 1.83.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,877 bytes |
コンパイル時間 | 2,267 ms |
コンパイル使用メモリ | 188,172 KB |
実行使用メモリ | 37,708 KB |
最終ジャッジ日時 | 2024-11-20 01:26:42 |
合計ジャッジ時間 | 68,878 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 2 ms
10,624 KB |
testcase_01 | AC | 4 ms
10,496 KB |
testcase_02 | AC | 15 ms
10,496 KB |
testcase_03 | AC | 2 ms
22,044 KB |
testcase_04 | AC | 3 ms
10,496 KB |
testcase_05 | AC | 9 ms
21,904 KB |
testcase_06 | AC | 9 ms
10,496 KB |
testcase_07 | AC | 10 ms
21,984 KB |
testcase_08 | AC | 14 ms
10,496 KB |
testcase_09 | AC | 33 ms
10,624 KB |
testcase_10 | AC | 7 ms
10,496 KB |
testcase_11 | TLE | - |
testcase_12 | TLE | - |
testcase_13 | TLE | - |
testcase_14 | TLE | - |
testcase_15 | TLE | - |
testcase_16 | TLE | - |
testcase_17 | TLE | - |
testcase_18 | TLE | - |
testcase_19 | TLE | - |
testcase_20 | TLE | - |
testcase_21 | AC | 333 ms
37,708 KB |
testcase_22 | AC | 236 ms
24,144 KB |
testcase_23 | TLE | - |
testcase_24 | TLE | - |
testcase_25 | TLE | - |
testcase_26 | TLE | - |
testcase_27 | TLE | - |
testcase_28 | TLE | - |
ソースコード
#include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for (int i = (int)(a); (i) < (int)(b); (i)++) #define rrep(i, a, b) for (int i = (int)(b) - 1; (i) >= (int)(a); (i)--) #define all(v) v.begin(), v.end() typedef long long ll; template <class T> using V = vector<T>; template <class T> using VV = vector<V<T>>; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); constexpr char endl = '\n'; int n,q; cin >> n; map<string, set<pair<int,int>>> mp; V<int> stin, stout; rep(i,0,n) { string name; int inT, outT; cin >> name >> inT >> outT; mp[name].insert({inT, -1}); mp[name].insert({outT, 1}); stin.push_back(inT); stout.push_back(outT); } sort(all(stin)); sort(all(stout)); cin >> q; rep(i,0,q) { int cmd; cin >> cmd; if (cmd == 1) { string name; int t; cin >> name >> t; if (mp.find(name) == mp.end()) { cout << "No" << endl; continue; } auto mpst = mp[name]; auto pos = lower_bound(all(mpst), make_pair(t,0)); if ((*pos).second == 1) cout << "Yes" << endl; else cout << "No" << endl; } else if (cmd == 2) { int t; cin >> t; int in = lower_bound(all(stin), t+1) - stin.begin(); int out = lower_bound(all(stout), t) - stout.begin(); cout << in - out << endl; } else { string name; int tin, tout; cin >> name >> tin >> tout; mp[name].insert({tin,-1}); mp[name].insert({tout,1}); stin.push_back(tin); sort(all(stin)); stout.push_back(tout); sort(all(stout)); } } return 0; }