Korduvad küsimused
Millal tulemusi näeb?
Tulemused avaldame pärast kõigi lahenduste testimist. Harilikult saab server testimisega valmis umbes tund pärast lahenduste vastuvõtmise lõppu.
Kas lahendust võib esitada korduvalt?
Jah. Hindamisel läheb arvesse parima skooriga lahendus.
Lahenduse esitamise tagasiside
Kui programmi esitamise järel näidatakse esimese alamülesande hindamise tulemuseks "0/0" rohelisel taustal, tähendab see, et programm lahendas õigesti ülesande tekstis olnud näite, aga selle eest punkte ei anta (näide on serveris ainult selleks, et kontrollida, et programm töötab ka serveris, väljastab vastuse õigesse faili jne).
Kui tulemus "0/0" on kollasel või punasel taustal, tähendab see, et näite lahendamine serveris ebaõnnestus.
Mõnes ülesandes on teiste alamülesannete hindamise tulemuseks "-" hallil taustal, mis tähendab, et nende testide tulemusi näeb alles pärast võistlust.
Miks minu lahendus serveris ei kompileeru?
- Kas kompilaator ja selle versioon on sama? Serveris kasutatavate kompilaatorite/interpretaatorite versioonid on kirjas siin.
- Kas käsureaparameetrid on samad, mis serveris?
- Ärge kasutage (operatsioonisüsteemi)spetsiifilisi teeke, neist pole ülesannete lahendamisel niikuinii kasu.
Miks minu lahendus serveris ei tööta?
- Failide nimed tuleb kirjutada täpselt nii, nagu näidatud ülesande püstituses — reeglina väiketähtedega. Testimisserveris on Linux, seal on failinimed tõstutundlikud.
- Testimisserveris on lahendustele eraldatava mälu maht piiratud. Programm, mis püüab kasutada lubatust rohkem mälu, pannakse operatsioonisüsteemi veateatega kinni.
- Kui failinimed on kindlasti õiged ja programm liiga palju mälu ei kasuta, on järgmine kõige tõenäolisem vea allikas algväärtustamata muutujate kasutamine või massiivide piiridest väljumine. Seda tüüpi vead avalduvad sageli erinevates arvutites (või isegi sama programmi erinevatel käivituskordadel samas arvutis) erinevalt. Selliseid vigu on testimisega väga raske üheselt tuvastada, aitab oma programmi teksti hoolikas lugemine. C++ keeles on selliste probleemide leidmisel sageli abiks hoiatuste sisse lülitamine (kompileeri lipuga
-Wall
) ja kompileerimisel lipu-fsanitize=address
kasutamine.
Sisend/väljund
Vaata siia.
64-bitiste täisarvude lugemine ja kirjutamine
Vaata siia.