# Ois\_aeroporto, subtask 7, 13, 17 e 20

**URL:** <https://forum.olinfo.it/t/ois-aeroporto-subtask-7-13-17-e-20/4458>\
**Category:** Aiuto\
**Created:** [2 Marzo 2017, 11:24pm UTC](https://forum.olinfo.it/t/ois-aeroporto-subtask-7-13-17-e-20/4458 "2017-03-02T23:24:24Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![erolm\_a](https://forum.olinfo.it/user_avatar/forum.olinfo.it/erolm_a/32/514_2.png) [@erolm\_a](https://forum.olinfo.it/u/erolm_a)\
**Post date:** [2 Marzo 2017, 11:24pm UTC](https://forum.olinfo.it/t/ois-aeroporto-subtask-7-13-17-e-20/4458/1 "2017-03-02T23:24:25Z")

</div>

L’algoritmo per risolvere il problema deve essere fondamentalmente giusto. Sostanzialmente provo a imporre che la distanza tra due partenze consecutive sia maggiore o uguale a un dato K, e il valore di K è trovato mediante ricerca binaria.  
Eppure, falliscono i test case 7, 13, 17 e 20. L’errore ottenuto è: `Soluzione errata: atterraggio non nell'intervallo`. Al che penso che il problema potrebbe essere, per l’appunto, che scelgo un valore di atterraggio per un dato i che fuoriesce dagli orari dell’aereo i. Ma non riesco a capire dove sia l’errore.

[https://paste.ubuntu.com/24098837/](https://paste.ubuntu.com/24098837/)

---

<div class="post-metadata">

**Author:** ![lucach](https://forum.olinfo.it/user_avatar/forum.olinfo.it/lucach/32/539_2.png) [@lucach](https://forum.olinfo.it/u/lucach)\
**Post date:** [3 Marzo 2017, 8:53am UTC](https://forum.olinfo.it/t/ois-aeroporto-subtask-7-13-17-e-20/4458/2 "2017-03-03T08:53:11Z")

</div>

Osserva che può accadere A[i] = B[i].

---

<div class="post-metadata">

**Author:** ![erolm\_a](https://forum.olinfo.it/user_avatar/forum.olinfo.it/erolm_a/32/514_2.png) [@erolm\_a](https://forum.olinfo.it/u/erolm_a)\
**Post date:** [3 Marzo 2017, 8:55pm UTC](https://forum.olinfo.it/t/ois-aeroporto-subtask-7-13-17-e-20/4458/3 "2017-03-03T20:55:57Z")

</div>

I test case del subtask 2 però funzionano perfettamente.

---

<div class="post-metadata">

**Author:** ![lucach](https://forum.olinfo.it/user_avatar/forum.olinfo.it/lucach/32/539_2.png) [@lucach](https://forum.olinfo.it/u/lucach)\
**Post date:** [4 Marzo 2017, 8:44am UTC](https://forum.olinfo.it/t/ois-aeroporto-subtask-7-13-17-e-20/4458/4 "2017-03-04T08:44:46Z")

</div>

D’accordo, indizio fuorviante. Anche se il subtask 2 è particolare, perché garantisce A[i] = B[i] per ogni i. Io invece mi riferivo a situazioni dove càpita solo per _qualche_ i.

Ad ogni modo, provo a darti un aiuto più specifico: calcoli `m` come

```auto
int m = (l + r + 1) / 2;

```

Qual è il valore minimo che potenzialmente deve assumere `m`? Sei certo che riesca ad arrivarci?

---

<div class="post-metadata">

**Author:** ![erolm\_a](https://forum.olinfo.it/user_avatar/forum.olinfo.it/erolm_a/32/514_2.png) [@erolm\_a](https://forum.olinfo.it/u/erolm_a)\
**Post date:** [4 Marzo 2017, 1:43pm UTC](https://forum.olinfo.it/t/ois-aeroporto-subtask-7-13-17-e-20/4458/5 "2017-03-04T13:43:30Z")

</div>

Ho corretto il bug. Era parecchio stupido, perdonami.
