A11

import java.io.FileNotFoundException;
import java.util.*;

public class Biologia {

        public static void main(String[] args) {
                List<Integer> dni = new ArrayList<>();

                // Nacitame zaujimave dni
                try (Scanner citac = new Scanner(new java.io.File("dni.txt"))) {
                        while (citac.hasNextInt()) {
                                dni.add(citac.nextInt());
                        }
                } catch (FileNotFoundException e) {
                        System.err.println("Zle je");
                }

                // Usporiadame dni
                Collections.sort(dni);

                int zaciatokZoznamu = 0;
                int pocetVyprav = 0;

                while (zaciatokZoznamu < dni.size()) {
                        pocetVyprav++;
                        // Vytvorime vypravu na pokrytie prveho zaujimaveho dna (z tych, co
                        // nam ostali)
                        int zaciatokVypravy = dni.get(zaciatokZoznamu);
                        int koniecVypravy = dni.get(zaciatokZoznamu) + 7;
                        System.out.println("Vyprava c. " + pocetVyprav + ": "
                                        + zaciatokVypravy + "-" + koniecVypravy);

                        // Preskocime pokryte dni
                        while ((zaciatokZoznamu < dni.size())
                                        && (dni.get(zaciatokZoznamu) <= koniecVypravy)) {
                                zaciatokZoznamu++;
                        }
                }
        }

}
import java.io.File;
import java.io.FileNotFoundException;
import java.util.*;

public class Stabs {

        private static class Interval {
                double zaciatok;
                double koniec;
        }

        private static class PorovnavacIntervalov implements Comparator<Interval> {
                @Override
                public int compare(Interval o1, Interval o2) {
                        return Double.compare(o1.koniec, o2.koniec);
                }
        }

        public static void main(String[] args) {
                List<Interval> intervaly = new ArrayList<>();

                // Nacitame vstup
                try (Scanner citac = new Scanner(new File("intervaly.txt"))) {
                        while (citac.hasNextDouble()) {
                                Interval ival = new Interval();
                                ival.zaciatok = citac.nextDouble();
                                ival.koniec = citac.nextDouble();
                                intervaly.add(ival);
                        }
                } catch (FileNotFoundException e) {
                        System.err.println("Chyba");
                }

                // Usporiadame intervaly podla konca
                Collections.sort(intervaly, new PorovnavacIntervalov());

                // Vyberieme body
                List<Double> vysledok = new ArrayList<>();
                while (intervaly.size() > 0) {
                        // Vyberieme prvy konciaci interval
                        double vybranyBod = intervaly.get(0).koniec;
                        vysledok.add(vybranyBod);

                        // Prekopirujeme tie intervaly, ktore vybrany bod nepretal
                        List<Interval> noveIntervaly = new ArrayList<>();
                        for (Interval ival : intervaly) {
                                if (ival.zaciatok > vybranyBod) {
                                        noveIntervaly.add(ival);
                                }
                        }

                        intervaly = noveIntervaly;
                }
        }

}