CSES - Datatähti 2024 qualification mirror - Säähavainnot
  • Language:
  • Time limit: 1.00 s
  • Memory limit: 512 MB

Olet mitannut ilman lämpötilaa eri puolilla Suomea kymmenen vuoden ajan. Kuinka hyvin säätä voisi ennustaa näiden mittausten avulla?

Tiedossa on menneen vuorokauden lämpötilan kehitys tietyssä paikassa. Mittaukset on tehty tasatunnein alkaen kello 1212 ja päättyen seuraavana päivänä kello 1111. Toteuta ohjelma, joka ennustaa, miten lämpötila kehittyy seuraavat 1212 tuntia, eli kello 122312–23.

Syöte

Syötteen ensimmäisellä rivillä on kokonaisluku nn: päivien määrä.

Seuraa nn riviä, joista kullakin on 2424 lukua: menneen vuorokauden lämpötilat tasatunnein. Lämpötila ilmoitetaan celsiusasteina yhden desimaalin tarkkuudella.

Päivät ovat satunnaisessa järjestyksessä, ja eri päivien mittaukset voivat olla tehty eri paikoissa.

Tuloste

Jokaiselle päivälle tulosta 1212 lukua: ennusteesi lämpötilasta seuraaville 1212 tunnille. Ilmoita lämpötila celsiusasteina.

Jos joidenkin tuntien ennuste on epävarma, voit tulostaa luvun sijasta kysymysmerkin ?.

Esimerkki

Syöte:

1
2.6 2.5 2.3 2.2 2.1 2.1 1.8 1.5 1.2 1.1 1.2 1.1 1 1.3 1.5 1.3 1 1.1 1 0.9 1 0.7 1.1 1.5

Tuloste:

1.7 1.5 1.4 ? ? ? 2 2.3 2.5 ? 2.4 1.5

Rajat

  • 1n10001 \le n \le 1000

Esimerkkidata

Lataa esimerkkidata tästä.

Tiedoston ensimmäisellä rivillä on luku 80008000, päivien määrä.

Seuraa 80008000 riviä. Jokaisella niistä on 3636 lukua: lämpötilat jonain päivänä tasatunnein kello 122312–23 ja sitä seuraavana päivänä kello 0230–23.

Esimerkkidatan mittauspaikat ja -päivät on valittu satunnaisesti samalla tavalla kuin testitapauksissa. Sama päivä ei kuitenkaan voi esiintyä molemmissa aineistoissa.

Datan alkuperä: Ilmatieteen laitoksen avoin data, lämpötilahavainnot.

Pisteytys

Ohjelmasi suoritetaan usealla testitapauksella. Ohjelman tuottamia ennustuksia vertaillaan oikeisiin havaintoihin. Voit saada yhdestä testitapauksesta pisteitä seuraavalla perusteella:

Olkoon aa oikein ennustettujen tuntien määrä. Ennustus on oikea, jos se poikkeaa oikeasta havainnosta alle 0.75° ⁣C0.75 \degree\!\mathrm C.

Olkoon bb väärin ennustettujen tuntien määrä. Ennustus on väärä, jos se poikkeaa oikeasta havainnosta vähintään 2.05° ⁣C2.05 \degree\!\mathrm C.

Jos ohjelmasi tulosti jollekin tunnille ennusteen sijasta kysymysmerkin ?, tätä ei lasketa oikeaksi eikä vääräksi.

Testitapauksesta saamasi pistemäärä on 25(ab)/n25(a-b)/n pyöristettynä lähimpään kokonaislukuun, kuitenkin vähintään 00 ja korkeintaan 100100 pistettä. Tässä nn merkitsee syötteessä esiintyvien päivien määrää.

Tehtävästä saamasi pistemäärä lasketaan keskiarvona kaikista testitapauksista.