A65984 | 完善程序:给定一个长度为n且从小到大排好序的序列{a1,a2,a3,...,an},要把这个序列分成 k 段,每段的价值为该段中的最大值减去最小值,现在请你帮忙分段,使得各分段的价值之和最小(保证计算结果都在int范围内)。#include <bits/stdc++.h>
来源2022年
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
完善程序:给定一个长度为n且从小到大排好序的序列{a1,a2,a3,...,an},要把这个序列分成 k 段,每段的价值为该段中的最大值减去最小值,现在请你帮忙分段,使得各分段的价值之和最小(保证计算结果都在int范围内)。
#include <bits/stdc++.h>
using namespace std;
const int N=3e5+5;
int n,k,sum,a[N],b[N];
int main()
{
scanf("%d%d",&n,&k);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
for(int i=1;i<n;i++) b[i]= ① ;
if( ② )
printf("0\n");
else if(k==1)
③
else
{
sort(b+1,b+n);
sum=0;
for(int i=1;i<= ④ ;i++)
printf("%d\n",sum);
}
return 0;
}暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?