K12443 布展

题目描述

有n颗大小不一的钻石,现在需要布展,为了视觉效果,你可以去掉其中最多K颗钻石,使得展台上的最大的钻石与最小的钻石差值最小。求解这个最小值

输入格式

第一行,两个整数N和K

接下来N个整数Ai,表示钻石的大小

输出格式

一个整数,展台上最大的钻石与最小的钻石的差值的最小值

输入输出样例

输入样例1:
3 1 1 2 4 
输出样例1:
1

说明

1≤N≤100000   1≤Ai≤100000    0≤K<N

【耗时限制】1000ms 【内存限制】128MB

这一题的关键是每次去掉的钻石一定是剩余中最大或最小的(注意!一定会去除k颗钻石,这样才能使相差最小)

代码:

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
LL n,k,a[100010],minn=1e9;
int main(){
	cin>>n>>k;
	for(int i=1;i<=n;i++) cin>>a[i];
	
    sort(a+1,a+1+n);
	
    for(int i=0;i<=k;i++){
		LL sum=abs(a[i+1]-a[n-k+i]);
		minn=min(minn,sum);
	}
	cout<<minn;
	return 0;
}
//是不是短的出奇?

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现后台可视化自助布展,你可以使用前端技术(如HTML、CSS和JavaScript)以及后端技术(如服务器端编程语言和数据库)来完成。下面是一个简单的示例代码,用于演示后台可视化自助布展的功能: HTML部分: ```html <!DOCTYPE html> <html> <head> <title>后台可视化自助布展</title> <style> /* 添加样式以布局和显示展品 */ .gallery { display: flex; flex-wrap: wrap; justify-content: space-between; } .item { width: 200px; height: 200px; background-color: #f0f0f0; margin-bottom: 20px; } </style> </head> <body> <h1>后台可视化自助布展</h1> <!-- 用于展示展品的区域 --> <div class="gallery" id="gallery"></div> <!-- 引入JavaScript代码 --> <script src="main.js"></script> </body> </html> ``` JavaScript部分 (main.js): ```javascript // 模拟从后端获取展品数据 var exhibits = [ { id: 1, name: '展品1', imageUrl: 'image1.jpg' }, { id: 2, name: '展品2', imageUrl: 'image2.jpg' }, { id: 3, name: '展品3', imageUrl: 'image3.jpg' }, // 更多展品... ]; // 获取展示区域的元素 var gallery = document.getElementById('gallery'); // 根据展品数据生成展示区域的内容 exhibits.forEach(function(exhibit) { var item = document.createElement('div'); item.className = 'item'; var image = document.createElement('img'); image.src = exhibit.imageUrl; image.alt = exhibit.name; item.appendChild(image); gallery.appendChild(item); }); ``` 在上述代码中,我们首先创建了一个HTML页面,其中包含一个用于展示展品的区域(使用Flex布局)。然后,在JavaScript代码中,我们模拟从后台获取展品数据,并根据这些数据生成展示区域的内容。对于每个展品,我们创建一个`<div>`元素,并将其添加到展示区域中。在`<div>`元素中,我们还创建了一个`<img>`元素,用于显示展品的图片。 你可以根据自己的需求修改示例代码,例如从数据库中获取展品数据,添加更多样式或交互功能等。此示例代码只是一个简单的起点,你可以根据实际情况进行扩展和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值