Submission #2074645


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

class RangeBIT {
	public:
	vector<long long> dat; int size_ = 1;
	
	void init(int size__){
		while(size_<=size__) size_*=2;
		dat.resize(size_*2, 0);
	}
	void add_(int l,int r,long long x,long long a,long long b,long long c){
		if(r<=a || b<=l) return;
		if(l<=a && b<=r){
			dat[c]+=x;return;
		}
		add_(l,r,x,a,(a+b)/2,c*2);
		add_(l,r,x,(a+b)/2,b,c*2+1);
	}
	void add(int l,int r,long long x){
		add_(l,r,x,0,size_,1);
	}
	long long Get(long long pos){
		pos+=size_;long long sum=0;
		while(pos>=1){
			sum+=dat[pos];pos/=2;
		}
		return sum;
	}
};

RangeBIT X; long long N,Q,t,p,ss; vector<long long>x[200009];

vector<tuple<long long,long long,long long>>solve(int pos){
	x[pos].push_back(0);x[pos].push_back(Q);
	sort(x[pos].begin(), x[pos].end());
	vector<tuple<long long,long long,long long>>A; long long sz = x[pos].size() - 2; sz *= -1;
	for(int i=0;i<x[pos].size()-1;i++){
		if(x[pos][i] != x[pos][i+1]) A.push_back(make_tuple(x[pos][i]+1, x[pos][i+1], sz));
		sz+=2;
	}
	return A;
}

int main() {
	cin>>N>>Q;X.init(Q+2);
	for(int i=1;i<=N;i++){
		cin>>t>>p;ss+=p;
		x[t].push_back(p);
	}
	for(int i=1;i<=100000;i++){
		vector<tuple<long long,long long,long long>>L=solve(i);
		for(int j=0;j<L.size();j++){
			int l=get<0>(L[j]),r=get<1>(L[j]),p=get<2>(L[j]);
			X.add(l,r+1,p);
			long long J = X.Get(r);
			if(J>0){
				long long LL=0,RR=r+1,MM,maxn=r+1;
				for(int k=0;k<20;k++){
					MM=(LL+RR)/2;
					long long J2=X.Get(MM);
					if(J2>0){maxn=min(maxn,MM);RR=MM;}
					else{LL=MM;}
				}
				X.add(maxn,r+1,-p);
			}
		}
	}
	long long rr=ss;
	for(int i=1;i<=Q;i++){
		rr+=X.Get(i);
	}
	cout<<rr<<endl;
	return 0;
}

Submission Info

Submission Time
Task E - 花火
User E869120
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1756 Byte
Status WA
Exec Time 178 ms
Memory 15856 KB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 0 / 30 0 / 130
Status
AC × 3
AC × 24
WA × 21
AC × 46
WA × 49
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
Subtask1 sample_01.txt, sample_02.txt, sample_03.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, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt, subtask1_30.txt, subtask1_31.txt, subtask1_32.txt, subtask1_33.txt, subtask1_34.txt, subtask1_35.txt, subtask1_36.txt, subtask1_37.txt, subtask1_38.txt, subtask1_39.txt, subtask1_40.txt, subtask1_41.txt, subtask1_42.txt
Subtask2 sample_01.txt, sample_02.txt, sample_03.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, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt, subtask1_30.txt, subtask1_31.txt, subtask1_32.txt, subtask1_33.txt, subtask1_34.txt, subtask1_35.txt, subtask1_36.txt, subtask1_37.txt, subtask1_38.txt, subtask1_39.txt, subtask1_40.txt, subtask1_41.txt, subtask1_42.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt, subtask2_26.txt, subtask2_27.txt, subtask2_28.txt, subtask2_29.txt, subtask2_30.txt, subtask2_31.txt, subtask2_32.txt, subtask2_33.txt, subtask2_34.txt, subtask2_35.txt, subtask2_36.txt, subtask2_37.txt, subtask2_38.txt, subtask2_39.txt, subtask2_40.txt, subtask2_41.txt, subtask2_42.txt, subtask2_43.txt, subtask2_44.txt, subtask2_45.txt, subtask2_46.txt, subtask2_47.txt, subtask2_48.txt, subtask2_49.txt, subtask2_50.txt
Case Name Status Exec Time Memory
sample_01.txt AC 21 ms 8064 KB
sample_02.txt AC 21 ms 8064 KB
sample_03.txt AC 22 ms 8064 KB
subtask1_01.txt WA 31 ms 8064 KB
subtask1_02.txt WA 31 ms 8064 KB
subtask1_03.txt WA 31 ms 8064 KB
subtask1_04.txt WA 30 ms 8064 KB
subtask1_05.txt AC 20 ms 8064 KB
subtask1_06.txt AC 21 ms 8064 KB
subtask1_07.txt WA 24 ms 8064 KB
subtask1_08.txt WA 25 ms 8064 KB
subtask1_09.txt AC 30 ms 8064 KB
subtask1_10.txt WA 30 ms 8064 KB
subtask1_11.txt WA 30 ms 8064 KB
subtask1_12.txt WA 30 ms 8064 KB
subtask1_13.txt AC 20 ms 8064 KB
subtask1_14.txt WA 21 ms 8064 KB
subtask1_15.txt WA 23 ms 8064 KB
subtask1_16.txt WA 25 ms 8064 KB
subtask1_17.txt WA 30 ms 8064 KB
subtask1_18.txt WA 30 ms 8064 KB
subtask1_19.txt WA 30 ms 8064 KB
subtask1_20.txt WA 30 ms 8064 KB
subtask1_21.txt AC 29 ms 8064 KB
subtask1_22.txt WA 30 ms 8064 KB
subtask1_23.txt WA 30 ms 8192 KB
subtask1_24.txt WA 30 ms 8064 KB
subtask1_25.txt WA 22 ms 8064 KB
subtask1_26.txt WA 24 ms 8064 KB
subtask1_27.txt AC 31 ms 8064 KB
subtask1_28.txt AC 30 ms 8064 KB
subtask1_29.txt AC 20 ms 8064 KB
subtask1_30.txt AC 20 ms 8064 KB
subtask1_31.txt AC 30 ms 8064 KB
subtask1_32.txt AC 31 ms 8064 KB
subtask1_33.txt AC 30 ms 8064 KB
subtask1_34.txt AC 30 ms 8064 KB
subtask1_35.txt AC 29 ms 8064 KB
subtask1_36.txt AC 29 ms 8064 KB
subtask1_37.txt AC 19 ms 8064 KB
subtask1_38.txt AC 28 ms 8064 KB
subtask1_39.txt AC 20 ms 8064 KB
subtask1_40.txt AC 29 ms 8064 KB
subtask1_41.txt AC 19 ms 8064 KB
subtask1_42.txt AC 29 ms 8064 KB
subtask2_01.txt WA 178 ms 11520 KB
subtask2_02.txt WA 178 ms 11520 KB
subtask2_03.txt WA 176 ms 11520 KB
subtask2_04.txt WA 176 ms 11520 KB
subtask2_05.txt WA 173 ms 11520 KB
subtask2_06.txt WA 142 ms 11136 KB
subtask2_07.txt WA 107 ms 9856 KB
subtask2_08.txt WA 77 ms 9472 KB
subtask2_09.txt AC 69 ms 9600 KB
subtask2_10.txt AC 80 ms 9600 KB
subtask2_11.txt WA 91 ms 9472 KB
subtask2_12.txt WA 103 ms 9472 KB
subtask2_13.txt WA 147 ms 9728 KB
subtask2_14.txt AC 102 ms 10920 KB
subtask2_15.txt WA 113 ms 10900 KB
subtask2_16.txt WA 125 ms 10984 KB
subtask2_17.txt WA 115 ms 11008 KB
subtask2_18.txt WA 139 ms 11264 KB
subtask2_19.txt AC 52 ms 8820 KB
subtask2_20.txt AC 52 ms 8828 KB
subtask2_21.txt AC 58 ms 8960 KB
subtask2_22.txt WA 63 ms 8960 KB
subtask2_23.txt WA 113 ms 9344 KB
subtask2_24.txt WA 146 ms 11648 KB
subtask2_25.txt WA 149 ms 11520 KB
subtask2_26.txt WA 152 ms 11520 KB
subtask2_27.txt WA 156 ms 11520 KB
subtask2_28.txt WA 166 ms 11648 KB
subtask2_29.txt AC 81 ms 10880 KB
subtask2_30.txt AC 101 ms 11264 KB
subtask2_31.txt WA 122 ms 11264 KB
subtask2_32.txt WA 152 ms 11520 KB
subtask2_33.txt WA 160 ms 11520 KB
subtask2_34.txt AC 114 ms 11264 KB
subtask2_35.txt WA 84 ms 9600 KB
subtask2_36.txt WA 94 ms 9472 KB
subtask2_37.txt WA 135 ms 9728 KB
subtask2_38.txt AC 164 ms 11776 KB
subtask2_39.txt AC 112 ms 11632 KB
subtask2_40.txt AC 52 ms 8820 KB
subtask2_41.txt AC 69 ms 9728 KB
subtask2_42.txt AC 140 ms 11776 KB
subtask2_43.txt AC 162 ms 11776 KB
subtask2_44.txt AC 126 ms 15856 KB
subtask2_45.txt AC 94 ms 11776 KB
subtask2_46.txt AC 77 ms 10868 KB
subtask2_47.txt AC 115 ms 11776 KB
subtask2_48.txt AC 36 ms 10112 KB
subtask2_49.txt AC 19 ms 8064 KB
subtask2_50.txt AC 36 ms 10112 KB