P1107,mxzcqz,#1WA
查看原帖
P1107,mxzcqz,#1WA
485688
想吃小熊饼干楼主2021/8/8 15:36

rt

#include<bits/stdc++.h>
using namespace std;
int ans[2010][2010],t[2010][2010],n,h,d;
int main()
{
    memset(ans,0,sizeof(ans));
    memset(t,0,sizeof(t));
    scanf("%d%d%d",&n,&h,&d);
    for(int i=1;i<=n;i++)
    {
        int ai;scanf("%d",&ai);
        for(int j=1;j<=ai;j++)
        {
            int m;scanf("%d",&m);
            if(m>0&&m<=h)t[m][i]++;
        }
    }
    for(int i=h;i>0;i--)
    {
        int maxa=-1;
        for(int k=1;k<=n;k++)
            maxa=max(ans[i+d][k],maxa);
        for(int j=1;j<=n;j++)
        {
            ans[i][j]=max(ans[i+1][j],maxa)+t[i][j];
            //cout<<ans[i][j]<<"    ";
        }
        //cout<<endl;
    }
    int maxans=-1;
    for(int i=1;i<=n;i++)maxans=max(ans[1][i],maxans);
    cout<<maxans;
    return 0;
}
2021/8/8 15:36
加载中...