結果
問題 | No.649 ここでちょっとQK! |
ユーザー |
![]() |
提出日時 | 2018-02-09 23:08:33 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 291 ms / 3,000 ms |
コード長 | 1,623 bytes |
コンパイル時間 | 2,064 ms |
コンパイル使用メモリ | 172,000 KB |
実行使用メモリ | 5,912 KB |
最終ジャッジ日時 | 2024-10-08 18:13:54 |
合計ジャッジ時間 | 6,669 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 32 |
ソースコード
#include <bits/stdc++.h>using namespace std;#define _MACRO(_1, _2, _3, NAME, ...) NAME#define _repl(i,a,b) for(int i=(int)(a);i<(int)(b);i++)#define _rep(i,n) _repl(i,0,n)#define rep(...) _MACRO(__VA_ARGS__, _repl, _rep)(__VA_ARGS__)#define mp make_pair#define pb push_back#define all(x) begin(x),end(x)#define uniq(x) sort(all(x)),(x).erase(unique(all(x)),end(x))#define fi first#define se second#define dbg(...) _dbg(#__VA_ARGS__, __VA_ARGS__)void _dbg(string){cerr<<endl;}template<class H,class... T> void _dbg(string s,H h,T... t){int l=s.find(',');cerr<<s.substr(0,l)<<" = "<<h<<", ";_dbg(s.substr(l+1),t...);}template<class T,class U> ostream& operator<<(ostream &o, const pair<T,U> &p){o<<"("<<p.fi<<","<<p.se<<")";return o;}template<class T> ostream& operator<<(ostream &o, const vector<T> &v){o<<"[";for(T t:v){o<<t<<",";}o<<"]";return o;}#define INF 1120000000int main(){int q,k;cin>>q>>k;priority_queue<long, vector<long>, greater<long>> large;priority_queue<long> small;rep(i,q){int t;cin>>t;if(t==1){long x;cin>>x;if(small.size() < k) small.push(x);else {if(small.top() > x){large.push(small.top());small.pop();small.push(x);} else {large.push(x);}}} else if(t==2){if(small.size() < k){cout << -1 << "\n";continue;}cout << small.top() << "\n";small.pop();if(large.size()){small.push(large.top());large.pop();}} else {assert(false);}}return 0;}