Kirjaudu sisään palauttaaksesi tehtäviä.
Lue ensin tehtävän yleiset ohjeet. Tarkemmat tehtäväkohtaiset ohjeet ovat alla:
Toteuta tehokas rinnakkainen lajittelualgoritmi CPU:lle, joka perustuu pikalajitteluun (quicksort).
Koodin toimintaa testataan ensin erilaisilla testeillä. Voit kokeilla samaa omalla tietokoneellasi komennolla ./grading test.
Jos koodi toimii odotetusti, sille suoritetaan benchmark-testejä. Voit kokeilla tätä omalla tietokoneellasi komennolla ./grading benchmark. Huomaa kuitenkin, että ajoaika omalla tietokoneellasi voi olla eri kuin arviointiin käytetyllä laitteistolla.
| Nimi | Parametrit |
|---|---|
| benchmarks/1 | n = 100000 |
| syöte sisältää 100000 kokonaislukua, ja tulosteessa tulee olla samat luvut nousevassa järjestyksessä | |
| benchmarks/2 | n = 1000000 |
| syöte sisältää 1000000 kokonaislukua, ja tulosteessa tulee olla samat luvut nousevassa järjestyksessä | |
| benchmarks/3a | n = 10000000 |
| syöte sisältää 10000000 kokonaislukua, ja tulosteessa tulee olla samat luvut nousevassa järjestyksessä | |
| benchmarks/3b | n = 10000000 |
| syöte sisältää 10000000 kokonaislukua, ja tulosteessa tulee olla samat luvut nousevassa järjestyksessä | |
| benchmarks/3c | n = 9999997 |
| syöte sisältää 9999997 kokonaislukua, ja tulosteessa tulee olla samat luvut nousevassa järjestyksessä | |
| benchmarks/3d | n = 9999998 |
| syöte sisältää 9999998 kokonaislukua, ja tulosteessa tulee olla samat luvut nousevassa järjestyksessä | |
| benchmarks/3e | n = 9999999 |
| syöte sisältää 9999999 kokonaislukua, ja tulosteessa tulee olla samat luvut nousevassa järjestyksessä | |
| benchmarks/3f | n = 10000001 |
| syöte sisältää 10000001 kokonaislukua, ja tulosteessa tulee olla samat luvut nousevassa järjestyksessä | |
| benchmarks/3g | n = 10000002 |
| syöte sisältää 10000002 kokonaislukua, ja tulosteessa tulee olla samat luvut nousevassa järjestyksessä | |
| benchmarks/3h | n = 10000003 |
| syöte sisältää 10000003 kokonaislukua, ja tulosteessa tulee olla samat luvut nousevassa järjestyksessä | |
| benchmarks/4 | n = 100000000 |
| syöte sisältää 100000000 kokonaislukua, ja tulosteessa tulee olla samat luvut nousevassa järjestyksessä | |
Tässä tehtävässä palautus arvioidaan benchmarks/4-testin perusteella, jossa syöte sisältää 100000000 kokonaislukua, ja tulosteessa tulee olla samat luvut nousevassa järjestyksessä.
Jos tehtävä palautetaan keskiviikkoon, 18. marraskuuta 2026, klo 23:59:59 (Helsinki) mennessä, se pisteytetään alla olevan taulukon mukaisesti:
| Ajoaika | Pisteet |
|---|---|
| ≤ 3.500 s | 1 |
| ≤ 2.500 s | 2 |
| ≤ 1.500 s | 3 |
| ≤ 1.200 s | 4 |
| ≤ 1.000 s | 5 |
Jos palautat ratkaisun määräajan jälkeen mutta ennen kurssin päättymistä torstaina, 31. joulukuuta 2026, klo 23:59:59 (Helsinki), pistemääräsi määräytyy näin:
| Ajoaika | Pisteet |
|---|---|
| ≤ 2.500 s | 1 |
| ≤ 1.500 s | 2 |
| ≤ 1.000 s | 3 |
Tehtävään tekemäsi palautukset osallistuvat automaattisesti myös kilpailuun, ja voit saada enintään 2 lisäpistettä, jos koodisi on yksi kurssin nopeimmista ratkaisuista!
| Ajoaika | Lisäpisteet |
|---|---|
| ≤ 1.20 × nopein | 1 |
| ≤ 1.10 × nopein | 2 |