Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.time.LocalTime;
- import java.time.format.DateTimeFormatter;
- import java.util.*;
- import java.util.Comparator;
- class Heap<E extends Comparable<E>> {
- private E elements[];
- private Comparator<? super E> comparator;
- private int compare(E k1, E k2) {
- return (comparator == null ? k1.compareTo(k2) : comparator.compare(k1, k2));
- }
- int getParent(int i) {
- return (i + 1) / 2 - 1;
- }
- public E getAt(int i) {
- return elements[i];
- }
- int getLeft(int i) {
- return (i + 1) * 2 - 1;
- }
- int getRight(int i) {
- return (i + 1) * 2;
- }
- void setElement(int index, E elem) {
- elements[index] = elem;
- }
- void swap(int i, int j) {
- E tmp = elements[i];
- elements[i] = elements[j];
- elements[j] = tmp;
- }
- void adjust(int i, int n) {
- while (i < n) {
- int left = getLeft(i);
- int right = getRight(i);
- int largest = i;
- if ((left < n) && (elements[left].compareTo(elements[largest]) > 0))
- largest = left;
- if ((right < n) && (elements[right].compareTo(elements[largest]) > 0))
- largest = right;
- if (largest == i)
- break;
- swap(i, largest);
- i = largest;
- }
- }
- void buildHeap() {
- int i;
- for (i = elements.length / 2 - 1; i >= 0; i--)
- adjust(i, elements.length);
- }
- public void heapSort() {
- int i;
- buildHeap();
- for (i = elements.length; i > 1; i--) {
- swap(0, i - 1);
- adjust(0, i - 1);
- }
- }
- @SuppressWarnings("unchecked")
- public Heap(int size) {
- elements = (E[]) new Comparable[size];
- }
- }
- class Buyer implements Comparable<Buyer> {
- LocalTime arrival;
- LocalTime departure;
- int minutesToStay;
- public Buyer(LocalTime arival, LocalTime departure) {
- this.arrival = arival;
- this.departure = departure;
- }
- public Buyer(LocalTime arrival, int minutesToStay) {
- this.arrival = arrival;
- this.departure = arrival.plusMinutes(minutesToStay);
- this.minutesToStay = minutesToStay;
- }
- @Override
- public int compareTo(Buyer that) {
- if (this.departure.isAfter(that.arrival)) {
- return 1;
- } else if (this.departure.isBefore(that.arrival)) {
- return -1;
- }
- return 0;
- }
- @Override
- public String toString() {
- return "\nBuyer{" +
- "arrival=" + arrival +
- ", departure=" + departure +
- ", minutesToStay=" + minutesToStay +
- "}";
- }
- }
- public class BlackFriday {
- public static void main(String args[]) throws ParseException {
- Scanner scanner = new Scanner(System.in);
- int numBuyers = Integer.parseInt(scanner.nextLine());
- /* Unnecessary */
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm");
- DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("HH:mm");
- //Queue<Buyer> heap = new PriorityQueue<>(numBuyers);
- //ArrayList<Buyer> arrayList = new ArrayList<>(numBuyers);
- for (int i = 0; i < numBuyers; i++) {
- String parts[] = scanner.nextLine().split(" ");
- LocalTime arrival = LocalTime.parse(parts[0]);
- int minutesToStay = Integer.parseInt(parts[1]);
- Buyer buyer = new Buyer(arrival, minutesToStay);
- }
- System.out.println(numBuyers);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment