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
2016-01-23 21:48:13+0900
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
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