TIANKENG’s restaurant
Each cases has a positive integer n(1<=n<=10000), which means n groups of customer. Then following n lines, each line there is a positive integer Xi(1<=Xi<=100), referring to the sum of the number of the ith group people, and the arriving time STi and departure time Edi(the time format is hh:mm, 0<=hh<24, 0<=mm<60), Given that the arriving time must be earlier than the departure time.
Pay attention that when a group of people arrive at the restaurant as soon as a group of people leaves from the restaurant, then the arriving group can be arranged to take their seats if the seats are enough.
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<iostream>
using namespace std;
int main()
{
int a[1440+100],b[10100],e[10100];
int i,n,c,t11,t12,t21,t22,t,d;
scanf("%d",&t);
while(t--)
{
memset(a,0,sizeof(a));
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d %d:%d %d:%d",&c,&t11,&t12,&t21,&t22);
b[i]=t11*60+t12;
e[i]=t21*60+t22;
for(int j=b[i]+1;j<=e[i];j++)
a[j]+=c;
}
/*for(i=1;i<1441;i++)
{
for(int j=0;j<n;j++)
{
if(i>=b[j]+1&&i<=e[j])
a[i]+=c[j];
}
}*/
d=0;
for(i=1;i<1441;i++)
d=max(d,a[i]);
printf("%d\n",d);
}
}