P1334 瑞瑞的木板(小根堆,排序,洛谷,java)

洛谷链接:https://www.luogu.com.cn/problem/P1334
首先想到每次砍最大的,然后剩下的不就少了。其实不然,因为不一定一次只能砍一个,可以砍两个或两个以上。这道题就是合并果子
在这里插入图片描述
在这里插入图片描述

import java.util.PriorityQueue;
import java.util.Scanner;
public class Main {
	
	//小根堆
	static PriorityQueue<Long> q=new PriorityQueue<Long>();
	
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
        long n=in.nextInt();
        long ans=0;
        
        for(long i=0;i<n;i++) {
        	long a=in.nextInt();
        	q.offer(a);
        }

        for(long i=0;i<n-1;i++) {
           long c=q.poll();
           long d=q.poll();
           ans+=c+d;
           q.offer(c+d);
        }

        System.out.println(ans);
	} 
}
发布了96 篇原创文章 · 获赞 56 · 访问量 2220

猜你喜欢

转载自blog.csdn.net/weixin_44685629/article/details/104481845