AtCoder Beginner Contest #127 F問題 - Absolute Minima

Source

AtCoder Beginner Contest #127
問題文

問題概要

省略

解法

省略

cLayversion 20190526-1)のコード

C++に変換後のコードはこちら

int Q, TYPE, A, B;
{
  int i, j;
  multiset<int> s1, s2;

  ll sum1 = 0, sum2 = 0;
  ll sum = 0, res1, res2;
  rd(Q);
  
  rep(Q){
    rd(TYPE);
    if(TYPE==1){
      rd(A,B);
      if(s1.size() <= s2.size()){
        s1.insert(A);
        sum1 += A;
      } else {
        s2.insert(A);
        sum2 += A;
      }
      sum += B;
    } else {
      while(s2.size() && getLast(s1) > getFirst(s2)){
        i = popLast(s1);
        j = popFirst(s2);
        s1.insert(j);
        s2.insert(i);
        sum1 += j - i;
        sum2 += i - j;
      }

      res1 = getLast(s1);
      res2 = sum;
      res2 += res1 * s1.size() - sum1;
      res2 += sum2 - res1 * s2.size();
      wt(res1, res2);
    }
  }
}

Current time: 2021年09月18日05時07分58秒
Last modified: 2019年05月26日00時11分59秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Beginner_Contest ABC127 ABC_F
トップページに戻る

Logged in as: unknown user (not login)

ログイン: