fork download
  1.  
  2. import java.io.BufferedReader;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. import java.io.Reader;
  6. import java.util.logging.Level;
  7. import java.util.logging.Logger;
  8.  
  9.  
  10. /*
  11.  * To change this template, choose Tools | Templates
  12.  * and open the template in the editor.
  13.  */
  14.  
  15. /**
  16.  *
  17.  * @author saopayne
  18.  */
  19.  
  20. /**
  21.  *
  22.  * ProblemCode RRSTONE May challenge
  23.  */
  24. public class Main {
  25.  
  26.  
  27. public static long findLargest(long[] numbers){
  28. long largest = numbers[0];
  29. for(int i= 1; i < numbers.length; i++){
  30. if(numbers[i] > largest){
  31. largest = numbers[i];
  32. }
  33. }
  34. return largest;
  35. }
  36.  
  37. public static StringBuilder deductNumfromLargest(long [] numbers ,long largest, long maxNumbers){
  38.  
  39. long [] newArray = new long [(int)maxNumbers ];
  40. StringBuilder builder = new StringBuilder();
  41.  
  42. for (int i = 0 ; i < maxNumbers; i++){
  43.  
  44. numbers[i] = largest - numbers[i];
  45.  
  46. newArray[i] = numbers[i];
  47.  
  48. builder.append(newArray[i] + " ");
  49.  
  50. }
  51.  
  52. return builder;
  53.  
  54. }
  55.  
  56. public static void main (String [] args){
  57.  
  58. try {
  59.  
  60.  
  61. String [] theLine = bufReader.readLine().split(" ");
  62.  
  63. long lengthOfArray = Long.parseLong(theLine[0]);
  64. long numOfTurns = Long.parseLong(theLine[1]);
  65.  
  66. if ((lengthOfArray >= 1 && lengthOfArray <= 100000) && (numOfTurns >= 0 && numOfTurns <= 1000000000)){
  67.  
  68. String [] secondLine = bufReader.readLine().split(" ");
  69.  
  70. long [] finalArray = new long [(int)lengthOfArray];
  71.  
  72. for (int i = 0; i < secondLine.length ; i++){
  73.  
  74. long num = Long.parseLong(secondLine[i]);
  75. if (Math.abs(num) > 2000000000){
  76. System.exit(0);
  77. }
  78. else if (Math.abs(num) >= 0) {
  79. finalArray[i] = num;
  80.  
  81. }
  82. }
  83. //deduct each value from the largest
  84. StringBuilder newest = null;
  85. for (int j = 0 ; j < numOfTurns;j ++){
  86. newest = deductNumfromLargest(finalArray, findLargest(finalArray), (int)lengthOfArray);
  87.  
  88. }
  89. System.out.println(newest);
  90.  
  91. }else{
  92. System.exit(0);
  93. }
  94. } catch (IOException ex) {
  95. Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
  96. }
  97.  
  98. }
  99. }
  100.  
Runtime error #stdin #stdout #stderr 0.07s 380224KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Exception in thread "main" java.lang.NullPointerException
	at Main.main(Main.java:62)