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 |
|
|
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 |