-
题目大意
对于2013年,输入一个日期,代表截止日期,有两个数值分别表示人数和天数,人数是指每天需要的裁判数,天数是指在截止日期之前的天数,求需要的最少人数。 -
思路
输入的只是2013年的时间,加上往前推的天数,总的时间不会超过465,这时候我可以将每个时间折合成天数,将这个数量作为下标计算每天需要的人数,最后所有天数中最大值就是所需要的最少人数。 -
代码
#include<bits/stdc++.h>
using namespace std;
int da[14]= {0,31,28,31,30,31,30,31,31,30,31,30,31};
int mon[14];
int a[500];
int main()
{
ios::sync_with_stdio(false);
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
for(int i=1;i<12;i++)
{
mon[i]=mon[i-1]+da[i];
//cout<<mon[i]<<" ";
}
int n;
cin>>n;
int res=0;
for(int i=0; i<n; i++)
{
int m,d,p,t;
cin>>m>>d>>p>>t;
m--;
for(int j=1; j<=t; j++)
res=max(res,a[mon[m]+d+100-j]+=p);
}
cout<<res<<endl;
return 0;
}