結果
問題 | No.649 ここでちょっとQK! |
ユーザー |
![]() |
提出日時 | 2018-02-09 22:41:00 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 263 ms / 3,000 ms |
コード長 | 1,618 bytes |
コンパイル時間 | 3,053 ms |
コンパイル使用メモリ | 196,300 KB |
実行使用メモリ | 16,000 KB |
最終ジャッジ日時 | 2024-10-08 16:26:50 |
合計ジャッジ時間 | 7,669 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 32 |
ソースコード
#include <bits/stdc++.h>#include <bits/stdc++.h>#include <ext/pb_ds/assoc_container.hpp> // Common file#include <ext/pb_ds/tree_policy.hpp> // Including tree_order_statistics_node_update#include<ext/pb_ds/tag_and_trait.hpp>using namespace __gnu_pbds;using namespace std;using i64=int64_t;#define rep(i,x,y) for(i64 i=i64(x),i##_max_for_repmacro=i64(y); i<i##_max_for_repmacro; ++i)#define debug(x) #x << "=" << (x)#ifdef DEBUG#define _GLIBCXX_DEBUG#define print(x) std::cerr << debug(x) << " (L:" << __LINE__ << ")" << std::endl#else#define print(x)#endifconst int inf=1.01e9;const i64 inf64=4.01e18;const double eps=1e-9;template <typename T> ostream &operator<<(ostream &os, const vector<T> &vec){os << "[";for (const auto &v : vec) {os << v << ",";}os << "]";return os;}void solve(){using int_set=tree<i64,null_type,less_equal<i64>,rb_tree_tag,tree_order_statistics_node_update>;int_set is;int Q,K;cin >> Q >> K;rep(i,0,Q){int t;cin >> t;if(t==1){i64 v;cin >> v;is.insert(v);}else{if(is.size()<K){cout << -1 << endl;continue;}auto it=is.find_by_order(K-1);cout << *it << endl;print(is.size());is.erase(it);print(is.size());}}}int main(){std::cin.tie(0);std::ios::sync_with_stdio(false);cout.setf(ios::fixed);cout.precision(16);solve();return 0;}