Salary for a Plumber | Aizu Online Judge
これ一ヶ月前の俺だと解けない問題やな
問題文読む
→やるだけやんこれ
繋ぎ手の大きい順にパイプの総和に足していって
それにパイプの本数-足した回数かけるだけやん
→できた
import java.util.*; class MyComp implements Comparator<Long> { public int compare(Long o1, Long o2) { if(o1 < o2) { return 1; } else if(o1 > o2) { return -1; } return 0; } } public class Main { public static void main(String[] args) { Scanner stdIn = new Scanner(System.in); Comparator<Long> c = new MyComp(); PriorityQueue <Long> queJ= new PriorityQueue <Long> (11,c); while (true) { int n = stdIn.nextInt(); if(n == 0) { break; } queJ.clear(); Long sum = 0L; for(int i = 0; i < n; i++) { sum += stdIn.nextLong(); } for(int i = 0; i < n-1; i++) { queJ.add(stdIn.nextLong()); } Long max = 0L; for(int i = 0; i < n; i++) { if(max < sum *(n-i)) { max = sum * (n-i); } if(i < n - 1) { sum += queJ.poll(); } } System.out.println(max); } } }
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0260