记录编号 |
419231 |
评测结果 |
AAAAAAAA |
题目名称 |
挤牛奶 |
最终得分 |
100 |
用户昵称 |
JustWB |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.003 s |
提交时间 |
2017-07-02 12:25:40 |
内存使用 |
0.37 MiB |
显示代码纯文本
#include<cstdio>
#include<cctype>
#include<algorithm>
using namespace std;
struct worker
{
int st,end;
worker(){st=end=0;}
bool operator < (const worker A)const
{
if(st==A.st)return end<A.end;
return st<A.st;
}
}w[5001];
inline int get()
{
int t=0,jud=1;char c=getchar();
while(!isdigit(c))
{
if(c=='-')jud=-1;
c=getchar();
}
while(isdigit(c))
{
t=(t<<3)+(t<<1)+c-'0';
c=getchar();
}
return t*jud;
}
int n,bg,ed;
int N[5000][2],all;
int maxn_a,maxn_b;
int main()
{
freopen("milk2.in","r",stdin);
freopen("milk2.out","w",stdout);
n=get();
for(int i=1;i<=n;i++)
{
w[i].st=get();
w[i].end=get();
}
sort(w+1,w+n+1);
for(int i=1;i<=n;i++)
{
if(!bg||w[i].st>ed)
{
N[all][0]=bg;
N[all++][1]=ed;
bg=w[i].st;ed=w[i].end;
}
else if(ed<w[i].end) ed=w[i].end;
}
N[all][0]=bg;N[all][1]=ed;
for(int i=1;i<=all;i++)
{
if(N[i][1]-N[i][0]>maxn_a)maxn_a=N[i][1]-N[i][0];
if(N[i+1][0]-N[i][1]>maxn_b)maxn_b=N[i+1][0]-N[i][1];
}
printf("%d\n%d",maxn_a,maxn_b);
return 0;
}