蓝桥 - 倍数问题

思路:看了一些题解说用深搜 但是会爆。。
把%k相同的数放到同一个大根堆里(就是队首元素最大的优先队列 然后我们进行操作:
两重循环 这样第三个就已经可以确定了,然后判断有没有
重点是如果选了要pop出去 用完了再放回来!
这样可以用三个相同的 自己的方法没法用三个相同的!
题目描述
众所周知,小葱同学擅长计算,尤其擅长计算一个数是否是另外一个数的倍数。但小葱只擅长两个数的情况,当有很多个数之后就会比较苦恼。现在小葱给了你 n 个数,希望你从这 n 个数中找到三个数,使得这三个数的和是 K 的倍数,且这个和最大。数据保证一定有解。

输入
从标准输入读入数据。

第一行包括 2 个正整数 n, K。
第二行 n 个正整数,代表给定的 n 个数。
输出
输出到标准输出。
输出一行一个整数代表所求的和。
样例输入

4 3
1 2 3 4

样例输出

9

发布了120 篇原创文章 · 获赞 12 · 访问量 5248

猜你喜欢

转载自blog.csdn.net/weixin_43735161/article/details/105368142