[蓝桥杯 2025 省 B] 画展布置

要使L值越小,我们容易知道,只有连续几个相邻的数才会使L最小。

因此,我们第一步应该把输入的数据排序,这里直接调用一个sort排序即可。

排序完成之后,我们只需要从左右依次选择m个进行计算即可。

英文有了从小到大的排序,所以 Bi+1>Bi ,因此,这里的绝对值符号可以直接去除,而 m 个数相加也可以进行简化。

由此可以得知, 代码相对较简单,代码如下:

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e5 + 10;
int B[N];
signed main()
{
    int n, m;
    cin >> n >> m;
    for (int i = 0; i < n; i++)
    {
        cin >> B[i];
    }
    //排序
    sort(B, B + n);
    int ans = 1e10;
    //计算和,每次取最小的
    for (int i = 0; i < n - m + 1; i++)
    {
        ans = min(ans,B[i + m - 1] * B[i + m - 1] - B[i] * B[i]);
    }
    cout << ans;
}
相关推荐
uoKent14 分钟前
c++中new和malloc的区别
java·jvm·c++
xiaokcehui30 分钟前
地球物理大地测量学计算系列之十七局部重力场SRBF逼近及其性能指标测评
人工智能·算法·机器学习
会周易的程序员32 分钟前
aiDgeController 软PLC虚拟机stvm集成测试报告
c++·物联网·架构·集成测试·st·软plc·iec61131
雪碧聊技术1 小时前
KMP算法详解
数据结构
布莱克6051 小时前
队列详解:定义、分类、应用场景及与栈的区别(C/C++ 代码讲解)
c语言·开发语言·c++·队列
Navigator_Z1 小时前
LeetCode //C - 1221. Split a String in Balanced Strings
c语言·算法·leetcode
天疆说1 小时前
庞特里亚金极小值原理的详细推导
算法
郝学胜-神的一滴1 小时前
C++11 工程级应用 06:自己造一个类似Python的Range迭代器
开发语言·c++·windows·python·程序人生·microsoft
余俊晖1 小时前
Self-OPD:去掉教师机的流匹配模型 On-Policy 蒸馏
人工智能·算法·机器学习
手写码匠1 小时前
华为云Flexus+DeepSeek征文|华为云MaaS DeepSeek推理服务 × Flexus云服务器 × Dify一键部署:性能评测实战
人工智能·深度学习·算法·aigc