Aktywne Wpisy

Wikariush +237
Nawet nie wiem jak to otagować. 3 lata różnicy w wieku licealnym a typiara zrobiła z chlopaka 40 letniego zboka.
źródło: 1000014914
Pobierz
Ale pomidorek zara wleci. Nie ma nic lepszego niż kromka chrupiącego chlebka, z posulanym pomidorkiem i cebulką (。◕‿‿◕。)
#oswiadczenie
#oswiadczenie
źródło: temp_file4130632398133018946
Pobierz



Dzien 5. i mamy typowe bait and switch w stylu AoC - piersza czesc wchodzi bardzo latwo, a w drugiej okazuje sie ze musimy czekac pare milionow lat zeby petla sie skonczyla wykonywac :)
Jak ktos podpatrzyl dane wejsciowe to pewnie zaczal myslec jak to zrobic zeby nie liczyc na duzych liczbach.
Mnie bardziej zastanawialo czy nie sprobowac to napisac wylacznie funkcyjnie, bo przeciez te transformacje to typowe funkcje, wiec mozna by je zlozyc i przez to napisac calkiem zwiezly kod, no ale skonczylem na typowym rozpisaniu krok po kroku.
Bardziej szczegolowo ponizej, spoiler!
Czesc 2 w Pythonie policzona w 4ms, feels good man.
Cos nowego co warto sie nauczyc z dzisiejszego zadania : itertools.batched (nowosc w Pythonie 3.12)
1. Zebrać wszystkie przody i końce przedziałów (w zbiorach ziaren i wszystkich mapowaniach)
2. Posortować
3. Ponadawać nowe numery od zera do (długość - 1)
4. Podmienić wszystkie liczby z danych wejściowych na te nowe numery
5. Przeprowadzić brute-force na tym
Bazuje to na tym, że w oryginalnym zadaniu ogrom liczb jest mapowana w identyczny sposób (jedynie z jakimś offsetem) - więc zamiast tego wystarczy rozważyć jedynie pierwsze elementy każdego możliwego przedziału
W tym zadaniu taka redukcja jest niepotrzebna, ale zdarzają się czasem zadania, w których trik z podmienieniem wartości na mniejsze
@n0c0Mpr3h3nD: Kurła, u mnie nie chce zejść poniżej 10ms :(
Pewnie za wolno parsuję input ( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°) ͡°)
Ale świadomość, że niektórzy puszczali bruteforce'a i czekali kilka godzin na wynik mnie pociesza ( ͡° ͜ʖ ͡°)