結果

問題 No.2804 Fixer And Ratism
ユーザー primenumber11primenumber11
提出日時 2024-04-30 00:55:58
言語 C++17
(gcc 12.3.0 + boost 1.83.0)
結果
WA  
実行時間 -
コード長 1,606 bytes
コンパイル時間 2,666 ms
コンパイル使用メモリ 217,128 KB
実行使用メモリ 6,948 KB
最終ジャッジ日時 2024-07-11 23:09:45
合計ジャッジ時間 6,930 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
5,248 KB
testcase_01 AC 2 ms
5,248 KB
testcase_02 AC 2 ms
5,376 KB
testcase_03 WA -
testcase_04 WA -
testcase_05 WA -
testcase_06 WA -
testcase_07 WA -
testcase_08 WA -
testcase_09 AC 6 ms
5,376 KB
testcase_10 WA -
testcase_11 AC 66 ms
5,376 KB
testcase_12 WA -
testcase_13 AC 14 ms
5,376 KB
testcase_14 AC 55 ms
5,376 KB
testcase_15 WA -
testcase_16 WA -
testcase_17 AC 22 ms
5,376 KB
testcase_18 WA -
testcase_19 AC 4 ms
5,376 KB
testcase_20 WA -
testcase_21 AC 85 ms
5,376 KB
testcase_22 WA -
testcase_23 AC 143 ms
5,376 KB
testcase_24 WA -
testcase_25 AC 143 ms
5,376 KB
testcase_26 WA -
testcase_27 WA -
testcase_28 AC 143 ms
5,376 KB
testcase_29 WA -
testcase_30 WA -
testcase_31 WA -
testcase_32 AC 143 ms
5,376 KB
testcase_33 WA -
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<bits/stdc++.h>
using namespace std;
#define ll long long
/*
hi, I'm rintaro.
*/
#define g(n,m) get<n>(m)
#define fof(i,o,n) for (ll i = o; i < (ll)n; i++)
#define fof_(i,a) for(auto &i : a)
#define vcin(a) fof_(i,a) cin>>i
#define all(o) o.begin(),o.end()
#define double long double
#define pii pair<ll,ll>
#define vec vector
#define vi vec<ll>
#define vs vec<string>
#define vc vec<char>
#define vvi vec<vi>
#define vpii vec<pii>
#define re return
#define r0 re 0
#define ln(n) cout << n << endl
#define fix(n) << fixed << setprecision(n)
#define out_(n) << n << " "
#define Out cout
#define out(n) << n
#define End << endl
#define imap map<ll,ll>
#define smap map<string,ll>
#define gmap map<ll,vector<ll>>
#define m9 998244353
#define m7 1000000007
#define lny ln("Yes")
#define lnn ln("No")
int main() {
  ll N, Q;
  cin >> N >> Q;
  priority_queue<pair<int,string>,vec<pair<int,string>>,greater<pair<int,string>>> que;
  map<string,bool> mp;
  fof(i,0,Q) {
    ll q;
    cin >> q;
    if(q==1) {
      string s;
      ll r;
      cin >> s >> r;
      mp[s]=false;
      que.push({r,s});
    }
    if(q==2) {
      ll x;
      cin >> x;
      N-=x;
    }
    if(q==3) {
      string s;
      ll x;
      cin >> s >> x;
      mp[s]=true;
      N+=x;
    }
    if((q==1||q==2)&&(ll)que.size()>N) {
      while((ll)que.size()>N) {
        if(mp[que.top().second]==true&&que.top().first<=4000) {
          que.push({que.top().first+5000,que.top().second});
          que.pop();
        }
        else {
          cout << que.top().second << endl;
          que.pop();
        }
      }
    }
  }
}
0