众所周知,小葱同学擅长计算,尤其擅长计算一个数是否是另外一个数的倍数。
但小葱只擅长两个数的情况,当有很多个数之后就会比较苦恼。
现在小葱给了你 n 个数,希望你从这 n 个数中找到三个数,使得这三个数的和是 K 的倍数,且这个和最大。
数据保证一定有解。

输入格式
第一行包括 2 个正整数 n, K。
第二行 n 个正整数,代表给定的 n 个数。

输出格式
输出一行一个整数代表所求的和。

数据范围
1≤n≤10^5,
1≤K≤10^3,
给定的 n 个数均不超过 10^8

输入样例:
4 3
1 2 3 4

输出样例:
9

代码如下:

#include <iostream>
#include <vector>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 1010;
int f[4][N];
vector<int> a[N];
int main()
{int n,m;cin>>n>>m;for (int i = 0;i<n;i++){int x;cin>>x;a[x%m].push_back(x);}memset(f,-0x3f,sizeof(f));f[0][0] = 0;for (int i = 0;i<m;i++){sort(a[i].begin(),a[i].end());reverse(a[i].begin(),a[i].end());for (int u = 0;u<3 &&u <a[i].size();u++){int t = a[i][u];for (int j = 3;j>=1;j--)for (int k = 0;k<m;k++){f[j][k] = max(f[j][k],f[j-1][((k-t)%m+m)%m]+t);}}}cout<<f[3][0]<<endl;return 0;
}

AcWing 1234. 倍数问题相关推荐

  1. 1234. 倍数问题 dp 数组 背包问题 状态压缩

    众所周知,小葱同学擅长计算,尤其擅长计算一个数是否是另外一个数的倍数. 但小葱只擅长两个数的情况,当有很多个数之后就会比较苦恼. 现在小葱给了你 n 个数,希望你从这 n 个数中找到三个数,使得这三个 ...

  2. AcWing 665. 倍数

    题目 读取两个正整数值 A 和 B. 如果其中一个是另一个的整数倍,则输出 Sao Multiplos,否则输出 Nao sao Multiplos. 输入格式 共一行,两个整数 A 和 B. 输出格 ...

  3. AcWing蓝桥杯AB组辅导课10、疑难杂题

    文章目录 前言 例题1:AcWing 1242. 修改数组(并查集) 分析 题解:单链表式并查集 例题2:AcWing 1234. 倍数问题(背包问题+贪心) 分析 题解1:01背包问题,三维解法(贪 ...

  4. AcWing 0x00. 语法基础课【Python3】版题解-顺序/判断/循环语句

    AcWing语法基础课[Python3]版题解-顺序/判断/循环语句 [AcWing] [AcWing 语法基础课] [AcWing 0x00. 语法基础课[Python3]版题解-顺序/判断/循环语 ...

  5. 语法基础课——第二讲 习题

    第二讲 习题 例题 AcWing 665. 倍数 原题链接 读取两个正整数值 AAA 和 BBB. 如果其中一个是另一个的整数倍,则输出 Sao Multiplos,否则输出 Nao sao Mult ...

  6. C++ 语法基础课 习题2 —— printf 语句与判断结构

    文章目录 例题 1. 倍数 2. 零食 3. 区间 4. 三角形 5. 游戏区间 6. 加薪 7. 动物 习题 1. 选择练习1 2. DDD 3. 点的坐标 4. 三角形类型 5. 游戏时间2 6. ...

  7. 【ACWing】665. 倍数

    题目地址: https://www.acwing.com/problem/content/667/ 读取两个正整数值AAA和BBB.如果其中一个是另一个的整数倍,则输出Sao Multiplos,否则 ...

  8. 蓝桥杯C++ AB组辅导课 第二讲 二分与前缀和 Acwing

    例题 AcWing 789. 数的范围 给定一个按照升序排列的长度为 n 的整数数组,以及 q 个查询. 对于每个查询,返回一个元素 k 的起始位置和终止位置(位置从 0 开始计数). 如果数组中不存 ...

  9. AcWing 1230. K倍区间

    首先我们要知道,(a-b)%c=0等价于a%c=b%c 给定一个长度为 N 的数列,A1,A2,-AN,如果其中一段连续的子序列 Ai,Ai+1,-Aj 之和是 K 的倍数,我们就称这个区间 [i,j ...

最新文章

  1. 美国 2006 年机器学习和知识发现年会数据挖掘使用率较高算法排名
  2. 2019年汽车行业深度投资研究
  3. sock_dgram 可以用listen吗_洗脸皂可以天天用吗
  4. 对于按成本组件结构(要素)还原
  5. 通过简易的前台代码实现无限二级域名转向(来自无忧 biyuan老矣)
  6. html编辑器不支持自定义样式,百度编辑器自定义按钮样式问题(写在cssRules不起做用)?...
  7. 2017.8.10 奖励关 思考记录
  8. python手动绘图案例_python绘图案例——递归绘制分形树
  9. hadoop远程调试
  10. a链接下载文件时,会打开新页面然后下载
  11. 离散数学课后习题答案
  12. [转帖]任正非管理思想
  13. 同一个PDF如何同时在两个窗口并排显示?
  14. 语义网络 语义网 词汇链 知识图谱辨析
  15. 关于let你不知道的知识点——红宝石书笔记记录
  16. java之空指针异常处理
  17. Linux利用platform_driver和设备树实现PWM驱动
  18. 机器人自动驾驶中的时间同步
  19. 日语再学习的开始以及Rosetta Stone的介绍
  20. 就业率非常低!这所211大学,捅破了我国高校就业率的窗户纸……

热门文章

  1. windows之DNS7种资源记录和flushdns命令清除DNS缓存以及nslookup解析域名和ipconfig/all命令查看网络配置使用总结
  2. 如何快速学习freemarker以及使用经验
  3. 面向对象类的使用(15)
  4. mysql交叉编译 cmake_CMake交叉编译配置
  5. python用户输入若干个分数_编写一个程序,要求用户输入五个测试分数。与字母grad对应...
  6. python 查看当前目录_Python的武器库11:os模块
  7. python编写请求参数带文件_转载:如何编写一个带命令行参数的Python文件
  8. 限时秒杀┃月销10000+件,风靡全国的steam科学实验套装
  9. 天赋差的程序员,难道就只能半途而废吗?
  10. 程序员上帝视角解读“旅行青蛙”,你的呱真的在旅行嘛?