Temat: [mak] Jakie macie czasy?

Moje są ja poniżej. Nie wiem co nawyrabiałem, że w 2 i 3 mam TLE :(
1 0.12s/1.00s
2 3.00s/3.00s
3 3.00s/3.00s
4 1.35s/3.00s
5 1.23s/2.00s
6 0.78s/2.00s
7 0.90s/2.00s
8 0.70s/2.00s
9 0.83s/2.00s
10 0.70s/2.00s
1 0.14s/1.00s
2 0.06s/3.00s (Błąd wykonania)
3 1.14s/3.00s
4 0.63s/3.00s
5 0.78s/2.00s
6 0.62s/2.00s
7 0.81s/2.00s
8 0.69s/2.00s
9 0.64s/2.00s
10 0.54s/2.00s
Takie są moje czasy. Cóż, ciekawe dlaczego mam RE na 2 teście...
1 OK 0.18s/1.00s 1/1
2 OK 1.91s/3.00s 1/1
3 OK 1.63s/3.00s 1/1
4 OK 1.39s/3.00s 1/1
5 OK 1.33s/2.00s 1/1
6 OK 1.11s/2.00s 1/1
7 OK 1.07s/2.00s 1/1
8 OK 0.98s/2.00s 1/1
9 OK 1.06s/2.00s 1/1
10 OK 1.00s/2.00s 1/1

Drugi i trzeci rzeczywiście wydają się "wydajnościowe", cokolwiek by to nie znaczyło :P
1 OK 0.14s/1.00s 1/1
2 Przekroczenie limitu czasu 3.00s/3.00s 0/1
3 OK 2.77s/3.00s 1/1
4 OK 1.83s/3.00s 1/1
5 Przekroczenie limitu czasu 2.00s/2.00s 0/1
6 OK 1.43s/2.00s 1/1
7 OK 1.55s/2.00s 1/1
8 OK 1.24s/2.00s 1/1
9 OK 1.48s/2.00s 1/1
10 OK 1.02s/2.00s 1/1

przy czym pozwoliłem sobie na rozrzutność, tzn. zamiast jednego przebiegu po elementach wykonałem trzy, za każdym razem wywołując ElementAt
1 OK 0.11s/1.00s 1/1
2 OK 0.94s/3.00s 1/1
3 OK 0.91s/3.00s 1/1
4 OK 0.69s/3.00s 1/1
5 OK 0.80s/2.00s 1/1
6 OK 0.63s/2.00s 1/1
7 OK 0.69s/2.00s 1/1
8 OK 0.56s/2.00s 1/1
9 OK 0.67s/2.00s 1/1
10 OK 0.57s/2.00s 1/1

Drugi i trzeci wykonywały się najdłużej, ale było na nie więcej czasu, więc niewiele to zmienia. Gorszym testem wydaje się być piąty.
1 Przekroczenie limitu czasu 1.00s/1.00s 0/1
2 OK 2.00s/3.00s 1/1
3 OK 1.69s/3.00s 1/1
4 OK 2.69s/3.00s 1/1
5 OK 1.47s/2.00s 1/1
6 OK 0.86s/2.00s 1/1
7 Przekroczenie limitu czasu 2.00s/2.00s 0/1
8 OK 0.98s/2.00s 1/1
9 OK 1.28s/2.00s 1/1
10 OK 0.98s/2.00s 1/1


Jestem bardzo ciekawy co u mnie się stało że na pierwszym teście TLE...
1 OK 0.13s/1.00s 1/1
2 Przekroczenie limitu czasu 3.00s/3.00s 0/1
3 OK 2.92s/3.00s 1/1
4 OK 2.36s/3.00s 1/1
5 Przekroczenie limitu czasu 2.00s/2.00s 0/1
6 OK 1.78s/2.00s 1/1
7 OK 1.72s/2.00s 1/1
8 OK 1.29s/2.00s 1/1
9 OK 1.61s/2.00s 1/1
10 OK 1.05s/2.00s 1/1

Tak samo rozrzutnie wykonywałem ElementAt 4 razy :)
1 0.15s/1.00s
2 1.17s/3.00s
3 0.88s/3.00s
4 1.00s/3.00s
5 0.86s/2.00s
6 0.77s/2.00s
7 0.67s/2.00s
8 0.65s/2.00s
9 0.69s/2.00s
10 0.77s/2.00s
http://pastebin.com/QaZND2A2
Czas O(n), pamięć O(1). transfer danych 32bajty/węzeł.
Można by to bardziej elegancko zrobić, łączenie danych wygląda tak samo jak obrabianie ich na każdym klastrze, ale są osobnymi funkcjami stworzonymi ctrl[c+v] :(