2010年10月4日月曜日

PKU Judge Online 3253 Fence Repair

■3253 Fence Repair

□Problem
プログラミングコンテストチャレンジブック参照

□Solution
プログラミングコンテストチャレンジブック参照

□Code
  1. package p3253;  
  2.   
  3. import java.util.*;  
  4. import java.lang.*;  
  5. import java.math.*;  
  6. import java.io.*;  
  7.   
  8. import static java.lang.Math.*;  
  9. import static java.util.Arrays.*;  
  10.   
  11. // AC  
  12. public class Main{  
  13.   
  14.     Scanner sc=new Scanner(System.in);  
  15.   
  16.     final int INF=1<<28;  
  17.     final double EPS=1e-9;  
  18.   
  19.     void run(){  
  20.         int n=sc.nextInt();  
  21.         PriorityQueue<Long> queue=new PriorityQueue<Long>();  
  22.         for(int i=0; i<n; i++)  
  23.             queue.offer(sc.nextLong());  
  24.         long ans=0;  
  25.         for(; queue.size()>1;){  
  26.             long k1=queue.poll();  
  27.             long k2=queue.poll();  
  28.             ans+=k1+k2;  
  29.             queue.offer(k1+k2);  
  30.         }  
  31.         println(""+ans);  
  32.     }  
  33.   
  34.     void print(String s){  
  35.         System.out.print(s);  
  36.     }  
  37.   
  38.     void println(String s){  
  39.         System.out.println(s);  
  40.     }  
  41.   
  42.     public static void main(String[] args){  
  43.         // System.setOut(new PrintStream(new BufferedOutputStream(System.out)));  
  44.         new Main().run();  
  45.     }  
  46. }  

0 件のコメント: