#242. 电量

电量

[题目描述]

小明的手机电池电量有N格,每过1小时电池的电量会减少1格。如果手机电量为0,电量不会再减少。

小明把手机充满电之后出门了,出门时刻为0时,在途中他到访了M家奶茶店,在时刻T回到家。

小明在第i家奶茶店停留的时间段为时刻Ai到时刻Bi。在奶茶店停留时,小明会给手机充电,这段时间里手机的电量每小时会增加1格(不会减少)。但是如果手机电量已经有N格了,电量不会再增加。问小明回到家的时候,手机电量有几格?

[输入描述]

第1行,3个正整数N,M,T,分别表示电池电量,奶茶店数目,小明回家的时刻。接下来M行,每行两个正整数Ai,Bi,表示小明在第i个奶茶店停留的时间段为时刻Ai到时刻Bi

[输出描述]

1个整数,表示小明回到家时手机电量

10 2 20
8 10
13 17
2
5 2 10 
2 4
7 8
1

[提示]

对100%数据,1N109;1M1000;1T109;0<A1<B1<A2<B2<<AM<BM<T1≤N≤10^9;1≤M≤1000;1≤T≤10^9;0<A1<B1<A2<B2<…<AM<BM<T

#include<bits/stdc++.h>
using namespace std;
int a, b;
int main(){
	long long n,m,t,dl,pre=0;
	cin>>n>>m>>t;
	dl = n;
	for(int i=1;i<=m;i++){
		cin>>a>>b;
		dl -= a-pre;
		if(dl<0)dl=0;
		dl+= b-a;
		if(dl>n)dl=n;
		pre = b;
	}
	dl-=t-pre;
	if(dl<0)dl=0;
	cout<<dl;
	
	return 0;
}