Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.37 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.util.Arrays;
  5.  
  6. public class Winecraft {
  7. public static void main(String[] args) throws IOException {
  8. BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  9. int[] integers = Arrays.stream(reader.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();
  10. boolean[] isTaken = new boolean[integers.length];
  11.  
  12. int n = Integer.parseInt(reader.readLine());
  13. while (true) {
  14. if (findCount(integers, n) < n) {
  15. break;
  16. }
  17.  
  18. for (int i = 0; i < n; i++) {
  19. isTaken = new boolean[integers.length];
  20. for (int j = 0; j < integers.length; j++) {
  21. integers[j]++;
  22. }
  23. for (int j = 1; j < integers.length-1; j++) {
  24. int previous = j - 1;
  25. int next = j + 1;
  26. int number = integers[j];
  27. if (integers[j] > integers[next] && integers[j] >integers[previous]) {
  28.  
  29. if (integers[next] > 0) {
  30. integers[j] ++;
  31. }
  32. if (integers[previous] > 0) {
  33. integers[j]++;
  34. }
  35. if (!isTaken[next]) {
  36. integers[next] = Math.max(0, integers[next] - 2);
  37. isTaken[next] = true;
  38. } else {
  39. integers[next] = Math.max(0, integers[next] - 1);
  40. }
  41.  
  42. if (!isTaken[previous]) {
  43. integers[previous] = Math.max(0, integers[previous] - 2);
  44. isTaken[previous] = true;
  45. } else {
  46. integers[previous] = Math.max(0, integers[previous] - 1);
  47. }
  48. }
  49. }
  50. }
  51. }
  52. //.filter(a -> a > n)
  53. Arrays.stream(integers).filter(a -> a > n).forEach(a -> System.out.print(a + " "));
  54. }
  55.  
  56. private static int findCount(int[] integers, int n) {
  57. int count = 0;
  58. for (int integer : integers) {
  59. if (integer > n) {
  60. count++;
  61. }
  62. }
  63. return count;
  64. }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement