房间安排

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
using namespace std;
int day[1005];
int main ()
{
int t;
cin>>t;
while(t--)
{
int n;
cin>>n;
int sum=0;
int max=0;
memset(day,0,sizeof(day));
while(n--)
{
int a,b,c;
cin>>a>>b>>c;
for(int i=b;i<b+c;i++)
{
day[i]+=a;
if(i>max)
max=i;
}
}
for(int i=0;i<=max;i++)
{
if(day[i]>sum)
sum=day[i];
}
cout<<sum<<endl;
}
return 0;
}

建立日期的数组,数组存放的内容为这一天需要的房间数目,取叠加的部分的最大值为分配的最少房间数目

posted @ 2018-07-29 20:10  换牙  阅读(114)  评论(0编辑  收藏  举报