《信息学奥赛一本通》例9.13 是庆功会
发布时间
阅读量:
阅读量
问题描述
#include<cstdio>
#include<cstring>
int max(int x,int y)
{
return x>y?x:y;
}
int dp[510][6010],que[6010],v[510],w[510],c[510];
int main()
{
freopen("party.in","r",stdin);
freopen("party.out","w",stdout);
int i,j,k,l,m,n,p,q,x,y,z,hd,tl;
scanf("%d%d",&n,&m);
for (i=1;i<=n;i++)
scanf("%d%d%d",&v[i],&w[i],&c[i]);
for (i=1;i<=n;i++)
for (j=0;j<v[i];j++)
{
hd=1;
tl=0;
for (k=0;k*v[i]+j<=m;k++)
{
while (hd<=tl&&k-que[hd]>c[i]) hd++;
while (hd<=tl&&dp[i-1][k*
全部评论 (0)
还没有任何评论哟~
