Lanjut65 XPUnit 10: Pencarian dan Pengurutan, soal 8 dari 10

Gabung Jadwal Rapat

Gabungkan jadwal yang saling bertumpuk menjadi blok waktu yang terpisah.

Aula sekolah dipakai banyak kegiatan dalam sehari. Penjaga aula ingin tahu kapan saja aula terpakai, dalam bentuk blok waktu yang tidak bertumpuk. Kegiatan yang bersambung tanpa jeda juga digabung.

Masukan

Baris pertama berisi N (1 sampai 10000). N baris berikutnya masing-masing berisi menit mulai dan menit selesai sebuah kegiatan, dengan mulai kurang dari selesai. Urutan kegiatannya acak.

Keluaran

Blok waktu hasil penggabungan, satu per baris dalam bentuk mulai selesai, urut dari yang paling awal. Dua kegiatan digabung bila yang satu dimulai sebelum atau tepat saat yang lain selesai.

Contoh masukan dan keluaran

  1. Contoh 1

    Masukan

    4
    480 540
    510 600
    660 720
    720 750

    Keluaran

    480 600
    660 750

Petunjuk

Coba kerjakan dulu. Buka petunjuk satu per satu kalau kamu buntu.

Petunjuk 1

Urutkan kegiatan berdasarkan waktu mulai lebih dulu.

Petunjuk 2

Telusuri sambil menyimpan blok yang sedang dibangun. Bila kegiatan berikutnya dimulai sebelum atau tepat saat blok selesai, perpanjang bloknya. Selain itu, tutup blok dan mulai blok baru.

Pelajari dulu konsepnyaGreedy dan bukti kebenarannyaDesain dan Analisis Algoritma

Soal lain di unit Pencarian dan Pengurutan

Soal berikutnya: Akar Kuadrat Bulat

Latih logika sedikit setiap hari

Ada soal harian dengan XP ganda dan liga mingguan yang dimulai dari nol setiap Senin.

Lihat semua tantangan