Fence Repair
农夫约翰为了修理栅栏,要将一块很长的木板切割成N块。 准备切成的木板的长度为L1、 L2 、 … 、LN 切,未切割前木板的长度恰好为切割后木板长度的总和。 每次切断木板时, 需要的开销为这块木板的长度。 例如长度为 21 的木板要切成长度为 5 、 8 、 8 的三块木板。 长21 的木板切成长为 13 和 8 的板时, 开销为 21 。 再将长度为 13 的板切成长度为 5 和 8 的板时, 开销是 13。 于是合计开销是 34。 请求出按照目标要求将木板切割完最小的开销是多少。
输入#
N = 3, L = (8, 5, 8)
输出#
34
java实现#
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scn = new Scanner(System.in);
int n = scn.nextInt();
int arr[] = new int[n];
long sum = 0;
long sum2 = 0;
for(int i=0;i<n;i++) {
arr[i]=scn.nextInt();
sum+=arr[i];
}
sum2+=sum;
Arrays.sort(arr);
for(int i=2;i<n;i++) {
sum-=arr[n-1];
sum2=sum2+sum;
arr[n-1]=0;
Arrays.sort(arr);
}
System.out.println(sum2);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY