Description
Input
Output
Sample Input
Sample Output
8
HINT
Source
唉这么蠢的Dp没一下子看出来,Dp真是太弱了啦。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
int f1[],eat[][],f2[];
int n,h,d;
int read()
{
int ans=;char c;
while ((c=getchar())==' ' || c=='\n' || c=='\r');
ans=c-'';
while (isdigit(c=getchar())) ans=ans*+c-'';
return ans;
} int main()
{
n=read();h=read();d=read();
for (int i=;i<=n;i++)
{
int x;
x=read();
for (int j=;j<=x;j++)
{
int a;
a=read();
eat[i][a]++;
}
}
for (int i=h;i>=;i--)
{
int t=i+d<=h?f1[i+d]:;
for (int j=;j<=n;j++)
{
f2[j]=max(f2[j],t)+eat[j][i];
f1[i]=max(f1[i],f2[j]);
}
}
printf("%d\n",f1[]);
return ;
}