HJ182 画展布置

  • 题目
  • 题解(13)
  • 讨论(9)
  • 排行

中等 通过率:23.96% 时间限制:1秒 空间限制:256M

知识点双指针

校招时部分企业笔试将禁止编程题跳出页面,为提前适应,练习时请使用在线自测,而非本地IDE。

描述

展厅共有 NN 幅画作,其艺术价值为整数 A1,A2,...,ANA1​,A2​,...,AN​。策展人需选出其中 MM 幅依次摆放。设选出后排成一列的价值为 B1,...,BMB1​,...,BM​,定义一个画展的不和谐度 LL 满足:

L  =  ∑i=1M−1∣Bi+12−Bi2∣.L=∑i=1M−1​∣∣​Bi+12​−Bi2​∣∣​.

请最小化 LL 并输出其最小可能值。

输入描述:

第一行输入两个整数 N,M(2≦M≦N≦105)N,M(2≦M≦N≦105)。

第二行输入 NN 个整数 A1...AN(1≦Ai≦105)A1​...AN​(1≦Ai​≦105)。

输出描述:

输出一个整数,表示最小化后的 LL 值。

示例1

输入:

复制代码
4 2
1 5 2 4

复制输出:

复制代码
3

复制说明:

复制代码
选择 {1,2}{1,2} 得到 L=22−12=3L=22−12=3,为最小值。
cpp 复制代码
#include <iostream>
#include <vector>
#include <algorithm>
#include <climits>

using namespace std;

int main() {
    int n, m;
    cin >> n >> m;
    vector<long long> a(n);
    for (int i = 0; i < n; ++i) {
        cin >> a[i];
    }

    sort(a.begin(), a.end());

    long long min_l = LLONG_MAX;

    for (int i = 0; i <= n - m; ++i) {
        long long current_l = a[i + m - 1] * a[i + m - 1] - a[i] * a[i];
        min_l = min(min_l, current_l);
    }

    cout << min_l << endl;

    return 0;
}
相关推荐
云和数据.ChenGuang5 分钟前
光哥说Python RAG 系统需要哪些评估指标:从检索到生成的全链路评测指南
网络·人工智能·python·算法·langchain
jimy11 小时前
C++ 中的 `T&&`:右值引用与转发引用
开发语言·c++
2601_970703832 小时前
工业除湿机租赁:把一份租金合同拆开看
大数据·数据结构·算法·数据库架构·推荐算法
心中有你02142 小时前
Java实现Dijkstra最短路径算法(邻接表 + 优先队列)
java·数据库·算法
ZhengEnCi3 小时前
同样的模型,为什么本地和云 API 差别那么大:量化精度、聊天模板与采样参数的三大元凶
人工智能·算法·llm
会编程的小孩3 小时前
C++ 定时器
c++
Flynn Liang3 小时前
RAG 答非所问/幻觉怎么破?Spring AI QuestionAnswerAdvisor 召回优化实战(TopK/重排/混合检索)
人工智能·算法·spring·rag·幻觉·springai
liminla!3 小时前
SQL 从入门到进阶:语法速查与实战练习(完整优化版)
数据库·sql·算法
沫璃染墨4 小时前
从零入门计算机网络系列(十一):HTTP协议进阶——从重定向原理到GET/POST与Fiddler抓包
linux·服务器·开发语言·网络·c++·tcp/ip·html
维克兜率天4 小时前
【维克】指数调整:哪些股票会被“强制买入“?
人工智能·python·算法