蓝桥杯刷题 前缀和与差分-[3142]可获得的最小取值(C++)

问题描述

妮妮学姐手头有一个长度为n的数组a,她想进行次操作来取出数组中的元素。每次操作必须选择以

下两种操作之一:

取出数组中的最大元素

取出数组中的最小元素和次小元素

妮妮学姐希望在进行完 次操作后,取出的数的和最小。她感觉有些困难,于是请擅长贪心的你帮

助她解决这个问题。

输入格式

第一行输入两个整数n和,表示数组长度和操作次数

第二行输入n个整数表示数组a。

数据范围保证3<n<2x 105,1< ai< 109,1k < 99999,2k <n。

输出格式

样例输入

5
2 5 1 10 6

样例输出

3

知识点:前缀和与差分

代码 

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=200020;
ll a[N],b[N],sum=LLONG_MAX;
int main()
{
	ll n,k,temp=0;
  cin>>n>>k;
  for(int i=1;i<=n;i++)
  {
    cin>>a[i];
  }
  sort(a,a+n+1);
  for(int i=1;i<=n;i++)
  {
    b[i]=b[i-1]+a[i];
  }
  for(int p=0;p<=k;p++)
  {
    temp=b[2*p]+b[n]-b[n+p-k];
    sum=min(sum,temp);
  }
  cout<<sum<<endl;
	return 0;
}

相关推荐

  1. 前缀-[2128]重新排序(C++)

    2024-04-09 22:18:04       36 阅读
  2. 前缀-[2080]求和(C++)

    2024-04-09 22:18:04       37 阅读
  3. 备战前缀篇)

    2024-04-09 22:18:04       33 阅读
  4. 第十五届抱佛脚(七)前缀

    2024-04-09 22:18:04       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-09 22:18:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-09 22:18:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-09 22:18:04       82 阅读
  4. Python语言-面向对象

    2024-04-09 22:18:04       91 阅读

热门阅读

  1. 热更新框架2-能够使用框架进行开发

    2024-04-09 22:18:04       35 阅读
  2. Redis是单线程,但为什么快

    2024-04-09 22:18:04       33 阅读
  3. vue-pdf只显示一页问题解决

    2024-04-09 22:18:04       35 阅读
  4. 数据驱动决策的秘密武器:一探FineBI的核心功能

    2024-04-09 22:18:04       40 阅读
  5. 边界框转化

    2024-04-09 22:18:04       38 阅读
  6. Istio-learning-note-about-Traffic Shifting(三)

    2024-04-09 22:18:04       40 阅读