动态规划——糖果

news/2025/1/28 6:25:06 标签: 动态规划, 算法

由于在维护世界和平的事务中做出巨大贡献,Dzx被赠予糖果公司2010年5月23日当天无限量糖果免费优惠券。

在这一天,Dzx可以从糖果公司的 N 件产品中任意选择若干件带回家享用。

糖果公司的 N 件产品每件都包含数量不同的糖果。

Dzx希望他选择的产品包含的糖果总数是 K 的整数倍,这样他才能平均地将糖果分给帮助他维护世界和平的伙伴们。

当然,在满足这一条件的基础上,糖果总数越多越好。

Dzx最多能带走多少糖果呢?

注意:Dzx只能将糖果公司的产品整件带走。

输入格式

第一行包含两个整数 NK

以下 N 行每行 1 个整数,表示糖果公司该件产品中包含的糖果数目,不超过 1000000

输出格式

符合要求的最多能达到的糖果总数,如果不能达到 K 的倍数这一要求,输出 0

数据范围

1≤N≤100

1≤K≤100

输入样例:

5 7
1
2
3
4
5

输出样例:

14

样例解释

Dzx的选择是2+3+4+5=14,这样糖果总数是7的倍数,并且是总数最多的选择。

思路:dp[i][j]表示从前i个物品中选,且总和除以k的余数是j的所有方案

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
#define N 110
int dp[N][N];
int main()
{
    memset(dp, -0x3f, sizeof(dp));
    dp[0][0] = 0;
    int n, k;
    cin >> n >> k;
    for (int i = 1; i <= n; i++)
    {
        int w;
        cin >> w;
        for (int j = 0; j < k; j++)
        {
            dp[i][j] = max(dp[i - 1][j], dp[i - 1][(j + k - w % k) % k] + w);
        }
    }
    cout << dp[n][0] << endl;
    return 0;
}

http://www.niftyadmin.cn/n/104748.html

相关文章

【Go】基于telegraf进行自定义插件开发(二)

基于telegraf进行自定义插件开发&#xff08;二&#xff09;前言正文设计开发过程单个服务的处理结构体同时定义了string和数值类型适配本机服务或者多个ip来源程序打包结语前言 书接上会&#xff0c;这次记录一下我基于telegraf进行的hdfs监控组件的开发工作&#xff0c;这其…

MySQL存储引擎

1. 存储引擎的概述 作为可插拔式的组件提供&#xff1a; MySQL服务软件自带的功能程序&#xff0c;处理表的处理器不同的存储引擎有不同的功能和数据存储方式 MySQL 5.0/5.1 默认的存储引擎—>MyISMA MySQL 5.5/5.6 默认的存储引擎—> InnoDB 列出可用的存储引擎&#x…

OSWatcher.sh脚本说明

OSWatcher.sh脚本位于oswbb目录下&#xff08;Oracle 19c数据库中脚本的路径是&#xff1a; /u01/app/oracle/product/19.0.0/dbhome_1/suptools/tfa/release/tfa_home/ext/oswbb/&#xff09;&#xff0c;由脚本startOSWbb.sh和stopOSWbb.sh来调用启动和停止它。 1. startOSW…

优思学院|精益生产现场管理的要素是什么?

精益生产的目的是通过消除3M来实现生产过程的优化和精简。3M指的是 "Muda"、"Muri"、"Mura"&#xff0c;这三个词来自于日本&#xff0c;代表了生产过程中的浪费、超负荷和不平衡。 因此&#xff0c;要消除3M&#xff0c;优思学院认为企业精益生…

统一网关Gateway

为什么需要网关 网关功能&#xff1a; 身份认证和权限校验服务路由&#xff0c;负载均衡 根据请求判断找到对应的服务路由&#xff0c;然后服务可能有多个实例&#xff0c;这个时候网关就会做一个负载均衡去挑选一个实例调用.请求限流 限制请求的数量&#xff0c;这是微服务的…

设备驱动模型--存储技术原理分析笔记 基于2.6.43内核

本文为读书笔记&#xff0c;详细内容参考《存储原理技术分析》1- 驱动模型2- 总线类型2.1- 重要数据结构总线bus_type 和 bus_type_private 互相可以找到对方struct bus_type {const char *name;struct bus_attribute *bus_attrs;struct device_attribute *dev_attrs;s…

【GeoDjango框架解析】配置geodjango开发环境

系列文章目录 【GeoDjango框架解析】配置geodjango开发环境 【GeoDjango框架解析】GDAL、GEOS、PORJ等配置的报错处理 文章目录系列文章目录前言一、安装postgresql数据库&#xff08;一&#xff09;Linux系统&#xff08;二&#xff09;windows系统二、安装postgis扩展三、安…

Linux环境内存管理——链表

我是荔园微风&#xff0c;作为一名在IT界整整25年的老兵&#xff0c;今天我们来重新审视一下Windows程序员如何学习Linux环境内存管理。由于很多程序在Windows环境下开发好后&#xff0c;还要部署到Linux服务器上去&#xff0c;所以作为Windows程序员有必要学习Linux环境的内存…