#include<stdio.h>
#include<stdlib.h>
int unboundedKnapsack(int *W, int wLen, int *V, int cap) {
int *K
=(int*)malloc(sizeof(int)*(cap
+1)); int w, i, j;
int best=0;
K[0]=0;
for(w=1;w<=cap;w++)
{
for(i=0;i<wLen;i++)
{
if(w>=W[i])
{
best=(K[w-W[i]]+V[i]>best)?(K[w-W[i]]+V[i]):best;
}
}
K[w]=best;
}
return K[cap];
}
int main()
{
int i,j,v[500],c[500],n,k=0,m,no,t;
while(t--)
{
k=0;
for(i=0;i<n;i++)
{
v[i]=i+1;
}
//scanf("%d",&k);
printf("%d\n",(unboundedKnapsack
(v
,n
,c
,n
))); }
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RkbGliLmg+CiAKaW50IHVuYm91bmRlZEtuYXBzYWNrKGludCAqVywgaW50IHdMZW4sIGludCAqViwgaW50IGNhcCkgewoJaW50ICpLPShpbnQqKW1hbGxvYyhzaXplb2YoaW50KSooY2FwKzEpKTsKCWludCB3LCBpLCBqOwoJaW50IGJlc3Q9MDsKCUtbMF09MDsKCWZvcih3PTE7dzw9Y2FwO3crKykgCgl7CgkJZm9yKGk9MDtpPHdMZW47aSsrKQoJCXsKCQkJaWYodz49V1tpXSkKCQkJewoJCQkJYmVzdD0oS1t3LVdbaV1dK1ZbaV0+YmVzdCk/KEtbdy1XW2ldXStWW2ldKTpiZXN0OwoJCQl9CgkJfQoJCUtbd109YmVzdDsKCX0KCXJldHVybiBLW2NhcF07Cn0KIAppbnQgbWFpbigpCnsKCWludCBpLGosdls1MDBdLGNbNTAwXSxuLGs9MCxtLG5vLHQ7CglzY2FuZigiJWQiLCZ0KTsKCXdoaWxlKHQtLSkKCXsKCQlrPTA7CgkJc2NhbmYoIiVkIiwmbik7CgkJZm9yKGk9MDtpPG47aSsrKQoJCXsKCQkJc2NhbmYoIiVkIiwmY1tpXSk7CgkJCXZbaV09aSsxOwoJCX0KCS8vc2NhbmYoIiVkIiwmayk7CgkJcHJpbnRmKCIlZFxuIiwodW5ib3VuZGVkS25hcHNhY2sodixuLGMsbikpKTsKCX0KCXJldHVybiAwOwp9