pengantar
Anda adalah pengawas tempat parkir dan manajer Anda sedang mempersiapkan untuk mengecilkan ukurannya menjadi ekstrem.
Ini adalah versi masalah yang disederhanakan dan diadaptasi di tingkat atas PAT tahun lalu .
Tantangan
Anda diminta menghitung berapa banyak mobil yang ada di tempat parkir pada saat yang bersamaan, paling banyak .
Aturan standar berlaku. Dan ini adalah kode-golf sehingga kode terpendek menang.
Baris pertama adalah jumlah entri (tidak lebih dari 100,000, input Anda mungkin tidak mengandung baris ini jika Anda suka, karena itu hanya pengganti sementara untuk menentukan di mana input berakhir ). Teks berikut ini berisi satu entri per baris. Dan setiap entri mencakup tiga angka:
<Car plate number> <Time (seconds) since open> <0(In) | 1(Out)>
Modifikasi 2: Tidak apa-apa menggunakan array tiga kali lipat sebagai input.
Modifikasi 3: Anda dapat mengubah urutan angka dalam satu entri. Dan Anda dapat memilih mana yang akan digunakan. (lihat bagian Keterangan)
Input dijamin valid, dengan asumsi bahwa:
Car plate numberadalah bilangan bulat dalam kisaran10000~99999Timeadalah bilangan bulat dalam kisaran0~86400
Dan
- Entri tidak harus dipesan secara kronologis.
- Tidak ada mobil sebelum detik pertama.
- Tidak perlu ada mobil setelah detik terakhir.
- Mobil tidak akan pergi sebelum masuk.
Car plate numberunik. (tetapi mobil yang sama dapat mengunjungi lebih dari satu kali)- Jadi tidak mungkin bagi mobil untuk memasuki tempat parkir ketika sudah ada di dalamnya.
- Mobil yang sama tidak akan masuk dan keluar pada saat yang sama
time. - Mobil dianggap berada di tempat parkir pada saat keluar / masuk.
Contoh 1
Memasukkan
11
97845 36000 1
75487 16500 1
12345 16 0
75486 3300 0
12345 6500 1
97845 32800 0
12345 16400 0
97846 16501 1
97846 16500 0
75486 8800 1
75487 3300 0
Keluaran
3
Penjelasan
Di 16500, mobil 12345dan 75487berada di tempat parkir.
Contoh 2
Saya membuat ini karena saya menemukan banyak kode gagal di dalamnya.
Input (dengan baris pertama ditinggalkan)
12345 16400 0
12345 16500 1
75487 16500 0
75487 16600 1
Keluaran
2
Penjelasan
Di 16500, mobil 12345dan 75487berada di tempat parkir.
Catatan
Sebenarnya, tidak ketiganya diperlukan untuk output. Paling tidak, Anda hanya perlu piring + waktu atau waktu + keluar / masuk untuk hasilnya. Tetapi algoritma ini sedikit berbeda dalam dua keadaan, sehingga pilihan menjadi lebih pendek tetap tidak diketahui dalam bahasa tertentu. Dan tentu saja Anda dapat menggunakan ketiga angka tersebut. Jadi saya meninggalkan mereka dalam tantangan.