题目描述
我叫王大锤,这次我是一名优秀的服务生。老板交给我一个人光荣而又艰巨的任务,让我为明天来吃饭的”顾客“准备好明天要用的椅子。由于我们饭店比较出名,所以只接待黑帮团伙。老板说,明天会有N个团伙来吃饭,每个团伙来的时间Si,结束时间Ei,人数Pi。我只是一个小小的服务生,哪敢惹了这帮家伙,在他们来到时必须有椅子坐,不然我就惨了。我该最少要准备几把椅子呢?
PS:一个团伙离开瞬间,椅子别人就能坐。
输入格式
有T组测试数据。
每组第一行一个N(N < 100000),接下来N行,每行三个数Pi(Pi < 100),Si,Ei。时间的格式为hh:mm(0 <=h<=23,0 <= m <60),时间保证在一天之内.
具体见样例。
输出
每组测试数据,输出锤锤最少要准备的椅子数。
样例输入
2
2
6 08:00 09:00
5 08:59 09:59
2
6 08:00 09:00
5 09:00 10:00
样例输出
11
6
#include<cstdio>
#include<cstring>
#include<iostream>
#include <algorithm>
using namespace std;
int p[100010];
bool cmp(int a,int b)
{
return a>b;
}
int main()
{
int t;
cin>>t;
while(t--)
{
int a,b,c,d,x,i,j,e;
cin>>x;
memset(p,0,sizeof(p));
while(x--)
{
scanf("%d %d:%d %d:%d",&e,&a,&b,&c,&d);
for(i=a*100+b; i<c*100+d; i++)
p[i]+=e;
}
cout<<*max_element(p,p+3000)<<endl;
}
return 0;
}