AOJ 0260 Salary for a Plumberを解く

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