Tutorial

Victory!

Zapomnijmy więc o incydencie z wywoływaniem poleceń systemowych (nie liczcie na to na zawodach! :P) i wróćmy do poprzedniego programu. Po skasowaniu "upiększaczy" zostaje kod:

var
  d,n,i : longint;
  f : array[0..20000] of longint;
begin
  readln(d);
  while (d>0) do
  begin
    d:=d-1;
    readln(n);
    f[0]:=0; f[1]:=1;
    for i:=2 to n do f[i]:=(f[i-1]+f[i-2]) mod 10000;
    writeln(f[n]);
  end;
end.

Wysłanie takiego programu spowoduje, że Sprawdzarka zwróci upragnioną ocenę:

Accepted

Oznacza to, że zadanie zostało zaliczone :-). Dostaniecie za nie jeden punkt, co jest podstawowym elementem liczącym się do rankingu. Czas, w którym zadanie zostało zaliczone (licząc od początku zawodów) dodaje się do do czasów za poprzednio rozwiązane zadania. Przy równej liczbie rozwiązanych zadań drużyny z mniejszym łącznym czasem rozwiązywania zadań zostaną wyżej sklasyfikowane. Tak więc jeżeli pierwsze zadanie rozwiążecie po 50 minutach, a drugie po 90 minutach od startu, to Wasz czas rozwiązywania będzie równy 140 minut.

Jednakże, w momencie, gdy na Twoim ekranie pojawi się w końcu długo oczekiwane ;) Accepted, za wszystkie poprzednie błędne rozwiązania do tego zadania zostają naliczone karne minuty, po 20 za każdy niepoprawny program. Karne minuty dodają się do wspomnianego łącznego czasu rozwiązywania, więc mają wpływ na ranking. Za błędne rozwiązania zadań, które w końcu nie zostaną rozwiązane, kary nie nalicza się, więc nie bójcie się ich wysyłać (szczególnie pod koniec zawodów). Przypominamy, że kary czasowej nie dostaniecie za błędy: Compile Error i Rule Violation.