众所周知,小葱同学擅长计算,尤其擅长计算一个数是否是另外一个数的倍数。

但小葱只擅长两个数的情况,当有很多个数之后就会比较苦恼。

现在小葱给了你 n 个数,希望你从这 n 个数中找到三个数,使得这三个数的和是 K 的倍数,且这个和最大。

数据保证一定有解。

输入格式
第一行包括 2 个正整数 n, K。

第二行 n 个正整数,代表给定的 n 个数。

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

数据范围
1≤n≤105,
1≤K≤103,
给定的 n 个数均不超过 108
输入样例:
4 3
1 2 3 4
输出样例:
9

题解

很巧妙的办法,通过余数的操作进行计算的转化,既缩小了数据大小也优化了时间复杂度,最后用sort将每一个vector数组进行排序,通过余数的组合进行倍数判断。

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
vector<long long>v[1000000];
bool cmp(long long a,long long b){return a>b;
}
int main(){long long n,k,t,sum,Max=0;cin>>n>>k;for(long long i=0;i<n;i++){cin>>t;v[t%k].push_back(t);}// 这里将每个vector数组进行排序。 for(long long i=0;i<k;i++)// 数组名,数组尾地址,比较方法 sort(v[i].begin(),v[i].end(),cmp);// 可以把TE的for循环转化为最多十的六次方的循环。 for(long long i=0;i<k;i++){for(long long j=0;j<k;j++){// 此处应该多模一下k,防止k-(i+j)%k==k,导致出错(余数不能>=k) t=(k-(i+j)%k)%k;sum=0;
//          cout<<i<<" "<<j<<" "<<t<<endl; if(v[i].size()&&v[j].size()&&v[t].size()){if(j!=i&&i!=t&&t!=j){sum=v[i][0]+v[j][0]+v[t][0];        }else if(j==i&&i!=t){if(v[i].size()==1)continue;sum=v[i][0]+v[i][1]+v[t][0];}else if(j==t&&i!=t){if(v[j].size()==1)continue;sum=v[j][0]+v[j][1]+v[i][0];}else if(i==t&&j!=t){if(v[i].size()==1)continue;sum=v[i][0]+v[i][1]+v[j][0];}else {if(v[i].size()<=2)continue;sum=v[i][0]+v[i][1]+v[i][2];}}if(sum>Max)Max=sum;}}cout<<Max<<endl;return 0;
}

倍数问题(余数的骚操作)相关推荐

  1. Python68个内置函数大总结,内置函数的骚操作来了!!

    ​学了快一年的Python了,突然发现,内置函数能够大大的加快开发时的效率,花了一周时间整理了一下68个内置函数,来看看内置函数的骚操作吧! 由于平台原因图片不是很清晰如果想要获取高清的照片或者pdf ...

  2. 骚操作!图片缩小后 内容竟变得完全不同?

    点击上方"AI算法与图像处理",选择加"星标"或"置顶" 重磅干货,第一时间送达 编辑:AI算法与图像处理 仅作为学习交流分享,如有侵权请联 ...

  3. 五分钟没有操作自动退出_这又是什么骚操作??5只蚂蚁战略配售基金拟增设B类份额,自动赎回退出!!...

    他来了,他来了,这又是什么骚操作??昨天,五只创新未来18个月封闭运作混合型证券投资基金发布联合声明,会为这个战略配售基金安排一个月的退出选择期. 5只创新未来18个月封闭运作混合型证券投资基金发布联 ...

  4. GitHub 骚操作,个人页还能这么玩?

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 之前写过一篇 GitHub 骚操作的文章 GitHub 竟 ...

  5. 杀疯了!通过游戏“元宇宙”,Deepmind让AI学会玩各种没玩过的游戏,骚操作不断...

    来源:大数据文摘本文约1800字,建议阅读7分钟 面对任务一看就会的AI,离我们心里的通用人工智能还有多远呢? 对于AI来说,完成一个单一任务或许相对简单,但是涉及到合作和博弈时,AI往往显得有些愚蠢 ...

  6. K项目的一些心得之全球模板里的几个骚操作

    K项目的一些心得之全球模板里的几个骚操作 1,数据迁移阶段,物料主数据分类视图里,batch class的代码跟物料号相同. 这意味着如果需要迁移的物料有1万个,导入程序会自动创建1万023类型的分类 ...

  7. git idea 可视化_那些你应该知道的,但是你一定不知道的 Git 骚操作

    Hello 大家好,作为团队中的主程阿粉经常参与很多核心功能的开发,而且很多时候一个需求没做好中间又插入新的紧急的需求或者 bug 修复,每次遇到这种情况,如果两个地方代码不冲突的话还好,可以直接在本 ...

  8. 笔记合并_.NET Core开发实战(第23课:静态文件中间件:前后端分离开发合并部署骚操作)学习笔记(上)...

    23 | 静态文件中间件:前后端分离开发合并部署骚操作 我们先来看一下静态文件中间件有哪些能力 1.支持指定相对路径 2.支持目录的浏览 3.支持设置默认文档 4.支持多目录映射 源码链接: http ...

  9. RabbitMQ 的这些骚操作你知道吗?

    RabbitMQ的Java客户端统一使用com.rabbitmq.client作为顶级包名.其中,最核心的类主要有:ConnectionFactory.Connection.Channel.Consu ...

最新文章

  1. C语言实现九九乘法表共9行9列,重点考察for循环的掌握情况!
  2. 果蝇玩VR登Nature,发现注意力机制、工作记忆都有,昆虫大脑原来没比哺乳类差多少...
  3. java字符串转化为数组_Go 语言字符串和数组转化 | 臭大佬
  4. 监控聚币网行情 并实时发送到微信
  5. 【CodeForces - 205B 】Little Elephant and Sorting (思维)
  6. esp32的GPIO操作
  7. 重磅!Uber发布史上最简单的深度学习框架Ludwig!不懂编程也能玩转人工智能
  8. 【BZOJ2438】杀人游戏,tarjan缩点+简单的概率计算
  9. luogu P2742 【模板】二维凸包 / [USACO5.1]圈奶牛Fencing the Cows
  10. Java 四种线程池
  11. string能存多大数据_信息技术助力精准教学:大数据到底有多好用?
  12. 关于onSaveInstanceState的javadoc的渣渣翻译
  13. Levenberg-Marquardt(LM算法)
  14. FishC笔记—21 讲 函数:lambda表达式
  15. ai人工智能让女神_人工智能可能只会让你兴奋不已
  16. 从一元函数极值问题理解遗传算法
  17. iOS-申请邓白氏编码的超详细流程介绍
  18. 未来的苹果和谷歌到底哪家强?
  19. Android进阶学习-自定义主题(3)
  20. SAP ABAP ME23N标准采购订单打印输出配置开发

热门文章

  1. php没开启wap功能,php作wap开发时遇到的问题
  2. c语言万年历实现农历查询,c#实现万年历示例分享 万年历农历查询
  3. 面向对象性不属于Java语言_以下叙述中不属于Java语言特点的是()。 A.面向对象B.可移植性C.多线程...
  4. 用php输出每一天的时间安排表格_php输出日历表格(一个简单的日历)
  5. 使用QT SDK 1.1 Qt Creator 2.0.9创建symbian sisx安装包
  6. 妙招-好用的优盘数据恢复软件
  7. 放到回收站的文件清空了能恢复吗
  8. java论文管理系统_Java人事管理系统(论文+源码)
  9. 2020-2021广东省“网络安全管理与评估”竞赛培训专题-1、赛项分析与比较
  10. m3u8下载,简化版,无解密