0
点赞
收藏
分享

微信扫一扫

1047. 糖果

闲嫌咸贤 2022-03-11 阅读 26

1047. 糖果

害害害 还是不行啊!!!

题解

在这里插入图片描述
只有f[0][0]是有意义的,f[0][1] f[0][2]都没有意义 因为没有选物品的时候 不可能还有大于0的余数,

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 100+10;
int n,k;
int a[N];
int f[N][N];
int get_mod(int a,int b)
{
    return (a % b + b) % b;
}
int main()
{
    cin>>n>>k;
    for(int i=1;i<=n;i++) scanf("%d",&a[i]);
    for(int i=0;i<N;i++)
        for(int j=0;j<N;j++) f[i][j] = -0x3f3f3f3f;
    f[0][0] = 0;
    for(int i=1;i<=n;i++)
    {
        for(int j=0;j<=k;j++)
        {
            f[i][j] = max(f[i-1][j],f[i-1][get_mod(j - a[i],k)] + a[i]);
        }
    }
    printf("%d",f[n][0]);
}
举报

相关推荐

0 条评论