Submission #617566


Source Code Expand

#include<iostream>
#include<algorithm>
#include<vector>
#include<queue>
#include<map>
#include<set>
#include<string>
#include<stack>
#include<cstdio>
#include<cmath>
using namespace std;

typedef long long ll;
typedef long double ld;
typedef pair<int,int> P;
typedef pair<int,P> P1;
typedef pair<P,P> P2;

#define fr first
#define sc second
#define mp make_pair
#define pb push_back
#define rep(i,x) for(ll i=0;i<x;i++)
#define rep1(i,x) for(ll i=1;i<=x;i++)
#define rrep(i,x) for(ll i=x-1;i>=0;i--)
#define rrep1(i,x) for(ll i=x;i>0;i--)
#define sor(v) sort(v.begin(),v.end())
#define rev(s) reverse(s.begin(),s.end())
#define lb(vec,a) lower_bound(vec.begin(),vec.end(),a)
#define ub(vec,a) upper_bound(vec.begin(),vec.end(),a)
#define uniq(vec) vec.erase(unique(vec.begin(),vec.end()),vec.end())
#define mp1(a,b,c) P1(a,P(b,c))

const ll INF=1000000000;
const int dir_4[4][2]={{0,1},{1,0},{0,-1},{-1,0}};
const int dir_8[8][2]={{1,0},{1,1},{0,1},{-1,1},{-1,0},{-1,-1},{0,-1},{1,-1}};

struct seg{
	ll siz;
	ll s[400010],t[400010],u[400010];
	void init(ll n){
		siz = 1;
		while(siz < n)siz *= 2;
		rep(i,siz*2-1){
			s[i] = 0;
			t[i] = 0;
			u[i] = 0;
		}
	}
	void add(ll a,ll b,ll x,ll k,ll l,ll r){
		if(b <= l || r <= a)return;
		if(a <= l && r <= b){
			s[k] += x;
			t[k] += x;
			u[k] += x;
			return;
		}
		add(a,b,x,2*k+1,l,(l+r)/2);
		add(a,b,x,2*k+2,(l+r)/2,r);
		s[k] = min( s[2*k+1] , s[2*k+2] ) + t[k];
		u[k] = max( u[2*k+1] , u[2*k+2] ) + t[k];
	}
	void max0(ll x,ll k,ll l,ll r){
		if(u[k] < x){
			s[k] += x-u[k];
			t[k] += x-u[k];
			u[k] += x-u[k];
		}
		if(s[k] >= x)return;
		if(t[k] != 0){
			add(l,(l+r)/2,t[k],2*k+1,l,(l+r)/2);
			add((l+r)/2,r,t[k],2*k+2,(l+r)/2,r);
			t[k] = 0;
		}
		max0(x,2*k+1,l,(l+r)/2);
		max0(x,2*k+2,(l+r)/2,r);
		s[k] = min( s[2*k+1] , s[2*k+2] ) + t[k];
		u[k] = max( u[2*k+1] , u[2*k+2] ) + t[k];
	}
	void comp(){
		rep(i,siz-1){
			s[2*i+1] += t[i];
			t[2*i+1] += t[i];
			u[2*i+1] += t[i];
			s[2*i+2] += t[i];
			t[2*i+2] += t[i];
			u[2*i+2] += t[i];
			t[i] = 0;
		}
	}
}seg;

int main(){
	static ll n,l;
	static ll t[100010],p[100010];
	scanf("%lld%lld",&n,&l);
	rep(i,n){
		scanf("%lld%lld",&t[i],&p[i]);
	}
	
	seg.init(100010);
	ll k = 0;
	ll ret = 0;
	rep1(i,100000){
		bool _t = false;
		while(k < n && t[k] == i){
			seg.add(1,p[k]+1,1,0,0,seg.siz);
			seg.add(p[k]+1,l+1,-1,0,0,seg.siz);
			ret += p[k];
			k ++;
			_t = true;
		}
		if(_t)seg.max0(0,0,0,seg.siz);
		
		/*seg.comp();
		cout << i << ":" << ret << endl;
		rep1(i,l){
			cout << seg.s[i+seg.siz-1] << " ";
		}
		puts("");*/
	}
	seg.comp();
	
	ll MAX = 0;
	ll sum = 0;
	rep1(i,l){
		sum += seg.s[i+seg.siz-1];
		MAX = max ( MAX , sum );
	}
	cout << ret-MAX << endl;
}
	

Submission Info

Submission Time
Task E - 花火
User yokozuna57
Language C++11 (GCC 4.9.2)
Score 160
Code Size 2836 Byte
Status AC
Exec Time 243 ms
Memory 8492 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:96:25: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld%lld",&n,&l);
                         ^
./Main.cpp:98:32: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld%lld",&t[i],&p[i]);
                                ^

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 30 / 30 130 / 130
Status
AC × 3
AC × 45
AC × 95
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 38 ms 6896 KB
sample_02.txt AC 38 ms 6932 KB
sample_03.txt AC 40 ms 6956 KB
subtask1_01.txt AC 44 ms 7080 KB
subtask1_02.txt AC 43 ms 6948 KB
subtask1_03.txt AC 42 ms 6956 KB
subtask1_04.txt AC 43 ms 6944 KB
subtask1_05.txt AC 42 ms 6936 KB
subtask1_06.txt AC 40 ms 6940 KB
subtask1_07.txt AC 39 ms 6940 KB
subtask1_08.txt AC 41 ms 6940 KB
subtask1_09.txt AC 39 ms 6944 KB
subtask1_10.txt AC 43 ms 6936 KB
subtask1_11.txt AC 41 ms 6948 KB
subtask1_12.txt AC 41 ms 6948 KB
subtask1_13.txt AC 41 ms 7000 KB
subtask1_14.txt AC 40 ms 6944 KB
subtask1_15.txt AC 41 ms 6952 KB
subtask1_16.txt AC 38 ms 6940 KB
subtask1_17.txt AC 40 ms 6948 KB
subtask1_18.txt AC 41 ms 6948 KB
subtask1_19.txt AC 43 ms 6888 KB
subtask1_20.txt AC 41 ms 6932 KB
subtask1_21.txt AC 40 ms 6948 KB
subtask1_22.txt AC 41 ms 7060 KB
subtask1_23.txt AC 42 ms 6944 KB
subtask1_24.txt AC 43 ms 6952 KB
subtask1_25.txt AC 38 ms 6944 KB
subtask1_26.txt AC 40 ms 6952 KB
subtask1_27.txt AC 41 ms 6944 KB
subtask1_28.txt AC 44 ms 6952 KB
subtask1_29.txt AC 39 ms 7064 KB
subtask1_30.txt AC 42 ms 6952 KB
subtask1_31.txt AC 43 ms 6952 KB
subtask1_32.txt AC 42 ms 6948 KB
subtask1_33.txt AC 42 ms 6948 KB
subtask1_34.txt AC 42 ms 6940 KB
subtask1_35.txt AC 42 ms 6948 KB
subtask1_36.txt AC 43 ms 7072 KB
subtask1_37.txt AC 37 ms 6944 KB
subtask1_38.txt AC 38 ms 6944 KB
subtask1_39.txt AC 40 ms 6884 KB
subtask1_40.txt AC 37 ms 6944 KB
subtask1_41.txt AC 38 ms 6944 KB
subtask1_42.txt AC 40 ms 6948 KB
subtask2_01.txt AC 243 ms 8480 KB
subtask2_02.txt AC 230 ms 8484 KB
subtask2_03.txt AC 233 ms 8480 KB
subtask2_04.txt AC 232 ms 8484 KB
subtask2_05.txt AC 225 ms 8488 KB
subtask2_06.txt AC 188 ms 8100 KB
subtask2_07.txt AC 137 ms 7712 KB
subtask2_08.txt AC 100 ms 7452 KB
subtask2_09.txt AC 109 ms 8484 KB
subtask2_10.txt AC 128 ms 8480 KB
subtask2_11.txt AC 154 ms 8416 KB
subtask2_12.txt AC 154 ms 8492 KB
subtask2_13.txt AC 204 ms 8480 KB
subtask2_14.txt AC 159 ms 8472 KB
subtask2_15.txt AC 165 ms 8480 KB
subtask2_16.txt AC 176 ms 8488 KB
subtask2_17.txt AC 188 ms 8480 KB
subtask2_18.txt AC 205 ms 8480 KB
subtask2_19.txt AC 108 ms 8416 KB
subtask2_20.txt AC 111 ms 8476 KB
subtask2_21.txt AC 115 ms 8484 KB
subtask2_22.txt AC 121 ms 8484 KB
subtask2_23.txt AC 167 ms 8352 KB
subtask2_24.txt AC 195 ms 8476 KB
subtask2_25.txt AC 193 ms 8480 KB
subtask2_26.txt AC 196 ms 8484 KB
subtask2_27.txt AC 202 ms 8488 KB
subtask2_28.txt AC 216 ms 8488 KB
subtask2_29.txt AC 151 ms 8484 KB
subtask2_30.txt AC 161 ms 8484 KB
subtask2_31.txt AC 171 ms 8476 KB
subtask2_32.txt AC 204 ms 8460 KB
subtask2_33.txt AC 216 ms 8480 KB
subtask2_34.txt AC 165 ms 8488 KB
subtask2_35.txt AC 132 ms 8484 KB
subtask2_36.txt AC 141 ms 8480 KB
subtask2_37.txt AC 185 ms 8472 KB
subtask2_38.txt AC 205 ms 8480 KB
subtask2_39.txt AC 161 ms 8488 KB
subtask2_40.txt AC 107 ms 8488 KB
subtask2_41.txt AC 108 ms 8436 KB
subtask2_42.txt AC 209 ms 8488 KB
subtask2_43.txt AC 213 ms 8484 KB
subtask2_44.txt AC 164 ms 8488 KB
subtask2_45.txt AC 145 ms 8412 KB
subtask2_46.txt AC 133 ms 8476 KB
subtask2_47.txt AC 159 ms 8484 KB
subtask2_48.txt AC 38 ms 6940 KB
subtask2_49.txt AC 40 ms 6936 KB
subtask2_50.txt AC 38 ms 7068 KB