Ahli100 XPUnit 11: Struktur Data, soal 9 dari 10

Hari Lebih Hangat

Untuk setiap hari, hitung berapa hari lagi suhunya lebih hangat.

Petani di Malang mencatat suhu harian. Untuk setiap hari, ia ingin tahu berapa hari lagi sampai suhunya lebih hangat dari hari itu, supaya bisa memilih waktu tanam yang tepat.

Masukan

Baris pertama berisi N (1 sampai 30000). Baris kedua berisi N bilangan bulat, suhu setiap hari.

Keluaran

Satu baris berisi N bilangan yang dipisah spasi. Bilangan ke-i adalah selisih hari antara hari ke-i dan hari pertama sesudahnya yang suhunya lebih tinggi, atau 0 bila tidak ada.

Contoh masukan dan keluaran

  1. Contoh 1

    Masukan

    8
    23 24 25 21 19 22 26 23

    Keluaran

    1 1 4 2 1 1 0 0

Petunjuk

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

Petunjuk 1

Memeriksa semua hari sesudahnya untuk setiap hari terlalu lambat bila suhunya jarang naik.

Petunjuk 2

Simpan di stack hari-hari yang belum menemukan hari yang lebih hangat. Saat suhu hari ini lebih tinggi dari hari di puncak stack, hari itu sudah menemukan jawabannya.

Pelajari dulu konsepnyaStackStruktur Data

Soal lain di unit Struktur Data

Soal berikutnya: Antrean IGD

Latih logika sedikit setiap hari

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

Lihat semua tantangan