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

你可能感兴趣的:(『Ⅰ』软件开发,#,算法笔记,『Ⅰ』-----后端开发)