Submission #1867843


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
using Int = long long;
//BEGIN CUT HERE
template<typename T> 
struct BIT{
  int n;
  vector<T> bit;
  //1-indexed
  BIT():n(-1){}
  BIT(int n_,T d):n(n_),bit(n_+1,d){}
  
  T sum(int i){
    T s=0;
    for(int x=i;x>0;x-=(x&-x))
      s+=bit[x];
    return s;
  }
  void add(int i,T a){
    if(i==0) return;
    for(int x=i;x<=n;x+=(x&-x))
      bit[x]+=a;
  }
  
  int lower_bound(int w){
    if(w<=0) return 0;
    int x=0,r=1;
    while(r<n) r<<=1;
    for(int k=r;k>0;k>>=1){
      if(x+k<=n&&bit[x+k]<w){
	w-=bit[x+k];
	x+=k;
      }
    }
    return x+1;
  }
  
  T sum0(int i){
    return sum(i+1);
  }
  void add0(int i,T a){
    add(i+1,a);
  }
};
//END CUT HERE
/*//
signed main(){
  int n,q;
  cin>>n>>q;
  BIT<int> bit(n+100,0);
  for(int i=0;i<q;i++){
    int c,x,y;
    cin>>c>>x>>y;
    if(c) cout<<bit.sum(y)-bit.sum(x-1)<<endl;
    else bit.add(x,y);
  }
  return 0;
}
//*/
/*
verified on 2017/10/29
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=DSL_2_B&lang=jp
 */

signed main(){
  int q;
  cin>>q;
  BIT<int> bit(2e5,0);
  while(q--){
    int t,x;
    cin>>t>>x;
    if(t==1) bit.add(x,1);
    if(t==2){
      int k=bit.lower_bound(x);
      bit.add(k,-1);
      cout<<k<<endl;
    }
  }
  return 0;
}

/*
verified on 2017/12/12
https://beta.atcoder.jp/contests/arc033/tasks/arc033_3
 */

Submission Info

Submission Time
Task C - データ構造
User beet
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1449 Byte
Status AC
Exec Time 279 ms
Memory 1664 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 2
AC × 18
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
All sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt
Case Name Status Exec Time Memory
sample_01.txt AC 2 ms 1024 KB
sample_02.txt AC 2 ms 1024 KB
subtask1_01.txt AC 2 ms 1024 KB
subtask1_02.txt AC 2 ms 1024 KB
subtask1_03.txt AC 2 ms 1024 KB
subtask1_04.txt AC 19 ms 1024 KB
subtask1_05.txt AC 41 ms 1152 KB
subtask1_06.txt AC 2 ms 1024 KB
subtask1_07.txt AC 115 ms 1152 KB
subtask1_08.txt AC 267 ms 1664 KB
subtask1_09.txt AC 269 ms 1664 KB
subtask1_10.txt AC 189 ms 1408 KB
subtask1_11.txt AC 187 ms 1408 KB
subtask1_12.txt AC 96 ms 1024 KB
subtask1_13.txt AC 273 ms 1664 KB
subtask1_14.txt AC 279 ms 1664 KB
subtask1_15.txt AC 248 ms 1664 KB
subtask1_16.txt AC 177 ms 1408 KB