ALGO25 / BLOG

Cum trimiți o soluție pe Algo25 și citești verdictul

Află cum pregătești și trimiți o soluție C++ pe Algo25, ce înseamnă verdictele evaluatorului și cum verifici greșelile fără retrimiteri inutile.

Pe Algo25, o problemă leagă enunțul de codul tău și de rezultatul evaluării automate. Înainte de trimitere, citește limitele și formatul datelor, testează exemplele și verifică dacă ai rezolvat cerința exactă. Verdictul este un indiciu pentru următorul pas, nu o explicație completă a greșelii.

Începe din lista de probleme și alege o temă pe care ai studiat-o. Dacă o noțiune este nouă, revino în biblioteca de lecții. Pentru o primă încercare, o problemă mică și bine înțeleasă este mai utilă decât una dificilă rezolvată prin modificări la întâmplare.

Pregătește contul și soluția

Secțiunea „Trimite o soluție” cere autentificare, adresă de email confirmată și finalizarea contului. Dacă este necesar acordul părintelui, urmează pașii din contul tău. Pagina afișează condiția care trebuie îndeplinită înainte de trimitere; simpla existență a unei adrese de email nu înseamnă că toate etapele sunt finalizate.

Soluțiile folosesc C++17, compilate cu GCC în mediul evaluatorului. Poți introduce codul în editor sau încărca un fișier sursă .cpp. Trimite programul, nu un executabil și nu o imagine cu codul. Limita afișată pentru sursă este 64 KiB. Citește din sursa de intrare cerută de enunț și afișează numai rezultatul, fără mesaje precum „introdu n”.

Înainte de trimitere verifică un exemplu obișnuit, cazul minim și o situație care poate schimba ramura algoritmului. Pentru tablouri, verifică primul și ultimul indice utilizat. Pentru sume și produse, verifică dacă tipul numeric este suficient pentru rezultatele intermediare, nu doar pentru fiecare număr citit.

Trimite și urmărește evaluarea

Folosește „Trimite spre evaluare” și urmărește starea afișată. Pornirea evaluatorului poate dura câteva minute. Nu presupune că lipsa imediată a unui verdict înseamnă blocarea soluției și nu crea trimiteri repetate doar pentru a forța un răspuns.

Dacă legătura se întrerupe, folosește „Verifică starea” sau „Reîncearcă aceeași trimitere”, când aceste opțiuni sunt disponibile. Păstrează ID-ul afișat pentru identificarea evaluării. Limitele de utilizare sunt arătate în interfață; dacă apare un mesaj de limită sau de evaluator indisponibil, urmează acel mesaj înainte de o nouă încercare.

Ce înseamnă verdictele

  • AC, Corect: soluția a trecut testele evaluării respective. Nu este o demonstrație matematică pentru orice intrare posibilă.
  • WA, Răspuns greșit: rezultatul diferă de cel așteptat pe cel puțin un test. Verifică cerința, cazurile-limită și formatul ieșirii.
  • CE, Eroare de compilare: programul nu a putut fi compilat. Deschide mesajele compilatorului și începe cu prima eroare relevantă.
  • TLE, Limită de timp: analiza complexității sau terminarea buclelor trebuie revăzută.
  • MLE, Limită de memorie: verifică tablourile, alocările și adâncimea recursiei.
  • RE, Eroare la execuție: caută accesări invalide, împărțiri nepermise și alte erori de rulare.
  • OLE, Prea mult output: verifică buclele de afișare și mesajele de depanare.
  • IE, Evaluare indisponibilă: evaluarea nu a furnizat un verdict valid despre corectitudinea soluției.

Folosește istoricul pentru progres

Pagina problemei permite consultarea surselor tale anterioare. Compară o versiune nouă cu cea veche și notează ce ipoteză ai schimbat. Cel mai bun punctaj și ultimul rezultat răspund unor întrebări diferite: o încercare nereușită nu înseamnă că o soluție anterioară corectă a devenit greșită.

Pentru WA, încearcă să construiești un contraexemplu mic pe care îl poți urmări manual. Pentru TLE, estimează câte operații execută buclele la limita maximă. Pentru CE, repară întâi sintaxa și tipurile înainte să schimbi întregul algoritm. Dacă observi o problemă de platformă, folosește pagina de contact și descrie pașii și ID-ul evaluării, fără date sensibile.

Exersează

Programul afișează „Suma este 7”, dar enunțul cere numai numărul 7. Este algoritmul de calcul suficient pentru acceptare? Nu. Ieșirea trebuie să respecte formatul cerut. Elimină mesajul suplimentar, apoi verifică din nou și corectitudinea pentru alte date.

Întrebări frecvente

Pot trimite fără cont?

Pentru evaluare trebuie să te autentifici și să îndeplinești condițiile afișate pentru cont, inclusiv confirmarea emailului și, când este cazul, participarea părintelui.

Ce fișier trebuie încărcat?

Un fișier sursă C++ sau codul introdus în editor. Nu încărca executabilul compilat și nu folosi o captură de ecran a programului.

De ce evaluarea nu apare imediat?

Evaluatorul poate avea nevoie de timp pentru pregătire și rulare. Urmărește starea și folosește verificarea aceleiași trimiteri înainte să creezi una nouă.

AC înseamnă că programul este demonstrat corect?

Înseamnă că a trecut testele evaluării. Demonstrația algoritmului și analiza limitelor rămân utile pentru a înțelege de ce funcționează.

Ce fac la IE?

Tratează mesajul ca indisponibilitate a evaluării, nu ca răspuns greșit al algoritmului. Verifică starea și instrucțiunile interfeței înainte de a retrimite.