At least one person solved it (Simon Gog, spoj.sphere.pl/ranks/INTEST/start=2015); is it possible to post the code publicly here?
created
last reply
- 24
replies
- 1.9k
views
- 18
users
- 2
links
At least one person solved it (Simon Gog, spoj.sphere.pl/ranks/INTEST/start=2015); is it possible to post the code publicly here?
14.62 seconds after I substituted the condition for if not (int(line) % k):
, but probably just a random glitch...
Anyway, the real bottleneck in this case appears to have been the arithmetic and raw_input() (an iterator over stdin was much faster, as you can see). So with correct Psyco optimizing (which means putting your code in a function, as Psyco doesn't optimize module-level code), it worked!
BTW, I find it amusing that you now refer to yourself as "I (ZZZ)" . Maybe soon you'll start refering to yourself as "We the king"
?
The test has a maximum of 8 seconds, and it specifies you must handle at least 1 megabyte / second, so we can assume that we only have to process 8 megabyte of data or so. You can use up to 64 megabyte per execution, so you can definitely read the whole problem into memory.
Other than the people who got 0.12 seconds (!!!), I have the fastest time right now. I read the entire input in, use split("\n"), and then check each line with a simple for loop. This is with psyco - I don't think it is possible without.
Nie wiem, czy jest taki test, ale mój AC różni się od Twojego WA tym, że dla braku danych wypisuje:
-10:||
-9:||
-8:||
-7:||
-6:||
-5:||
-4:||
-3:||
-2:||
-1:||
0:||
1:||
2:||
3:||
4:||
5:||
6:||
7:||
8:||
9:||
10:||
a Twój tylko pustą linię.
Sprawdź, czy po zmianie tego zaliczy Ci program - jak nie to dalej poszukam błędu.
jesteś pewien, że dokładnie to wypisujesz? przecież miało być "liczba na 4 polach" czyli
-10:|| //nie pokazuje spacji przed -10, nie wiem dlaczego
-9:||
//itd.
u siebie w programie dodałem jedną spację więcej przed wyświetlaniem liczby, ale nadal błędna odpowiedź
ustawiłem, żeby wyświetlało pusty histogram w przypadku braku danych, nadal błędna odpowiedź ;/
przeglądam ten kod już 1000 razy, porównuję z przykładowym kodem (tym w pascalu z zadania) i nie mogę znaleźć jakiejkolwiek różnicy
próbowałem już zaokrąglać 0.5 zarówno w górę, jak i w dół, też brak efektów
mam 54 AC z łatwych zadań, a to pierwsze, z którym tak się męczę, mimo tego, że jest proste
Spacje przed pierwszymi liczbami są nieistotne - może ich w ogóle nie być (sprawdziłem).
Pokaż nowy kod, to poszukam błędu.
I nie martw się, też nie mam wszystkich łatwych, a mam niektóre średnie zadania - to, w której kategorii są zadania, nie oznacza, że są faktycznie łatwe, średnie czy trudne. To autor zadania stwierdza jaki jest wg poziom trudności. Tak więc rób zadania wg możliwości, a nie kategorii (nic na siłę).
działa...
int max=0; //wcześniej było max = n[0], jak tą linijkę zmieniałem
for(int i=1; i<21; i++) //zapomniałem tu ustawić i=0
if(n[i] > max) max = n[i];
no i po raz n-ty udowodniłem sobie, że najwięcej czasu w programowaniu tracę na poprawianiu takich błędów...
co do poziomu trudności to się zgodzę, aczkolwiek postanowiłem sobie robić po kolei, najpierw łatwe, potem średnie, potem trudne, na koniec challenge (aczkolwiek jedno challenge sobie rozwiązałem już )