Advertisement
nikeza

Club Part

Oct 21st, 2019
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.16 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. public class Club_Party {
  4.     public static void main(String[] args) {
  5.         Scanner scanner = new Scanner(System.in);
  6.  
  7.         int capacity = Integer.parseInt(scanner.nextLine());
  8.  
  9.         String[] input = scanner.nextLine().split("\\s+");
  10.  
  11.         ArrayDeque<String> letter = new ArrayDeque<>(); //queue
  12.         ArrayDeque<Integer> number = new ArrayDeque<>(); //queue
  13.  
  14.         int num = 0;
  15.         for (int i = input.length - 1; i >= 0; i--) {
  16.             if (Character.isAlphabetic(input[i].charAt(0))) {
  17.                 for (int j = i; j >= 0; j--) {
  18.  
  19.                     if (Character.isAlphabetic(input[j].charAt(0))) {
  20.                         letter.offer(input[j]);
  21.                     } else if (Character.isDigit(input[j].charAt(0))) {
  22.  
  23.                         int person = Integer.parseInt(input[j]);
  24.                         if (num + person > capacity&&letter.size()==1) {
  25.                             if (number.size() > 0) {
  26.                                 System.out.printf("%s -> ", letter.poll());
  27.                                 System.out.println(number.toString().replaceAll("[\\[\\]]", ""));
  28.                                 number.clear();
  29.                                 num = 0;
  30.                                 continue;
  31.                             }else {
  32.                                 number.offer(Integer.parseInt(input[j]));
  33.                            continue;
  34.                             }
  35.                         }
  36.                         if (num + person > capacity && letter.size() > 1) {
  37.  
  38.                             System.out.printf("%s -> ", letter.poll());
  39.                             System.out.println(number.toString().replaceAll("[\\[\\]]", ""));
  40.                             number.clear();
  41.                             num = 0;
  42.                             number.offer(Integer.parseInt(input[j]));
  43.                             num = person;
  44.                             continue;
  45.                         }
  46.  
  47.                         number.offer(Integer.parseInt(input[j]));
  48.                         num += person;
  49.  
  50.  
  51.                     }
  52.                 }
  53.                 break;
  54.             }
  55.         }
  56.  
  57.  
  58.         System.out.println();
  59.      
  60.  
  61.     }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement