蓝桥 倍数问题 (我为什么会这么菜)

简介: 蓝桥 倍数问题 (我为什么会这么菜)

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

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

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

又又又又是看学长的代码才会做的题,把模k相同的数放到一个一块。
每次取出一个就会取出这一组中最大的,两重循环控制两个组模k的结果所在的组,剩下一个可以直接计算出来,更新一个res就可以了。
失恋第好多好多天,心情烦躁,还是没缓过来。蓝瘦香菇哈哈,再加上题也不会做,课也听不明白,颓废了颓废了。。。。。

#include <iostream>
#include <cstdio>
#include <queue>
#include <cstring>
#include <algorithm>
using namespace std;
typedef long long ll;

priority_queue<ll, vector<ll>, less<ll> > q[1005];
int n, k;
int main(){
    
    cin>>n>>k;
    for (int i=1; i<=n; i++){
   
        ll t;
        cin>>t;
        q[t%k].push(t);
    }
    ll res=0;
    for (int i=0; i<k; i++){
   
        if (q[i].size()==0)
            continue;
        ll a=q[i].top();
        q[i].pop();
        for (int j=0; j<k; j++){
   
            if (q[j].size()==0)
                continue;
            ll b=q[j].top();
            q[j].pop();
            if (q[(k-i-j+k)%k].size()){
   
                res = max(res, a+b+q[(k-i-j+k)%k].top());
            }
            q[j].push(b);
        }
        q[i].push(a);
    }
    cout<<res;
    return 0;
}
相关文章
|
11月前
蓝桥杯:2021省赛 例题:时间显示
蓝桥杯:2021省赛 例题:时间显示
50 0
|
2月前
1092 最好吃的月饼 (20 分)
1092 最好吃的月饼 (20 分)
|
2月前
|
C++
【洛谷 P1428】小鱼比可爱 题解(循环)
这是一个编程竞赛问题,题目要求编写一个程序来计算每只鱼在其视野内看到的更不可爱的鱼的数量。给定鱼的总数`n`和每只鱼的可爱程度数组`a[]`,输出每个位置的鱼能看到的更不可爱的鱼的数量。 **摘要:** ```markdown 解决一个编程挑战,计算鱼在“比可爱”比赛中左边有多少条更不可爱的鱼。输入包含鱼的总数`n`和每条鱼的可爱度,输出每条鱼眼中更不可爱的鱼数。提供的C++代码通过遍历数组,比较每只鱼的可爱度并累计小于它的数量,然后输出结果。 ``` 这个摘要在240个字符以内,简要概述了问题的背景、任务和解决方案的概要。
22 0
|
3月前
|
测试技术
【错题集-编程题】比那名居的桃子(滑动窗口 / 前缀和)
【错题集-编程题】比那名居的桃子(滑动窗口 / 前缀和)
|
3月前
|
Java
小明买了一堆桃子,不知道个数,第一天吃了一半的桃子,还不过瘾,又多吃了一个。以后他每天吃剩下的桃子的一半还多一个,到n天只剩下一个桃子了。问:最开始买了多少桃子。(使用Java实现)
小明买了一堆桃子,不知道个数,第一天吃了一半的桃子,还不过瘾,又多吃了一个。以后他每天吃剩下的桃子的一半还多一个,到n天只剩下一个桃子了。问:最开始买了多少桃子。(使用Java实现)
|
9月前
|
算法 Java
代码随想录算法训练营第三十四天 | LeetCode 860. 柠檬水找零、406. 根据身高重建队列、452. 用最少数量的箭引爆气球
代码随想录算法训练营第三十四天 | LeetCode 860. 柠檬水找零、406. 根据身高重建队列、452. 用最少数量的箭引爆气球
51 0
|
12月前
蓝桥 大臣的旅费 (数的直径)
蓝桥 大臣的旅费 (数的直径)
|
12月前
蓝桥 凑平方数 (我依旧很菜)
蓝桥 凑平方数 (我依旧很菜)
|
机器学习/深度学习 数据采集 人工智能
【每周一坑】杨辉三角形
了解完背景知识之后,来看看对应的题目,定义一个函数 yanghui() ,传入正整数参数 M、N,分别代表杨辉三角形第 M 行,左起第 N 个数字(M,N 都从 0 开始计算)。入超出范围则返回 invalid query 。
【每日一道智力题】之海盗分金币(上)
【每日一道智力题】之海盗分金币(上)
209 0