Czy mogę prosić o jakieś podchwytliwe testy? Nie wiedzieć czemu mam złą odpowiedź przy moim zgłoszeniu 19203109
a po co podchwytliwe testy, i co może być podchwytliwego w liczbach z zakresu 1..1000000 ?
może po prostu sprawdź wyniki dla kilku liczb bliskich 1 i kilku bliskich maksymalnej wartości
Stawiam na :1. Masz zły algorytm .2. Użyłeś za małego typu zmiennej liczbowej i wynik przekracza maksymalną wartość .
Mam podobny problem; używam C++, gdy użyję zmiennej o mniejszej wartości maksymalnej odpowiedź jest błędna (co jest logiczne) lecz gdy użyję zmiennej o większej wartości maksymalnej (w moim wypadku long long) test wypada negatywnie ze względu na przekroczenie limitu czasu. Ograniczyłem wszystkie znaki do minimum, sprawdzałem różne pętle, wszystko na nic, limit czasu i tak przekroczony. Czy ma ktoś jakieś wskazówki lub propozycje?
Może nie myślisz 4 wymiarowo ?? https://d39a3h63xew422.cloudfront.net/wp-content/uploads/2016/04/21072139/the-back-to-the-future-delorean-now-lives-at-the-petersen-museum-1476934422032-1000x667.jpg
Jak byś miał testy :
101000000100000010000001000000100000010000001000000100000010000001000000
--- to na prawde chciałbyś każdy przypadek liczyć od początku ??
Ja mam 2 pętle w programie - jedna jest od wczytywania danych . Powiedzenie do czego służy druga popsuło by tobie zabawę !
Skoro czasy pierwszej 20-ki są nie większe od 0.2 sekundy (łączny czas testów) to przekroczenie 2 sekund na jeden test to już sztuka - lub niewłaściwy algorytmwięc zamiast optymalizować ten co napisałeś, pomyśl nad innym algorytmem
Pisząc w pythonie spodziewam się raczej przekroczenia czasu niż złej odpowiedzi. Co do algorytmu to prawdopodobnie taki sam jak użył longinus. Tutaj kilka moich wyników:IN:29200000700000051215024830000001000000500120497000008000002025000230000090000040000034000000600000010000010241012350000045000000203446000002000000
29200000700000051215024830000001000000500120497000008000002025000230000090000040000034000000600000010000010241012350000045000000203446000002000000
OUT:26666866667000001143333578333345000004487040011362755115124900000450000050000033333383333350000041704177501286960742511433357833345000017066698666680000028705416729169750059000045000050000243000405000150000213334133334000001421333341333334000000720000180000010000003333383333500003584384003458364828744166679166675000030416666791666675000002806853898420720001800001000002666668666667000000
26666866667000001143333578333345000004487040011362755115124900000450000050000033333383333350000041704177501286960742511433357833345000017066698666680000028705416729169750059000045000050000243000405000150000213334133334000001421333341333334000000720000180000010000003333383333500003584384003458364828744166679166675000030416666791666675000002806853898420720001800001000002666668666667000000
Czy jest tu błąd?
Patrze, patrze i jedyne co mi się nasuwa, to ....
Gdy dostaję WA [błędna odpowiedź], to warto jeszcze raz, albo kilka, uważnie przeczytać treść zadania. I taka jest w tym wypadku moja rada.
Co to znaczy?
Witam przyjacielu, po pierwsze w tym zadaniu sam algorytm działa w czasie stałym. Więc całość działa w O(n), bo tyle potrzeba na wczytanie danych. Spróbuj jeszcze raz a ja radzę podejść matematycznie. Na pewno dasz radę!
Dziękuję wszystkim za zainteresowanie.Pomyślałem nad innym algorytmem i zamiast pętli użyłem po prostu wzoru na sumę wyrazów tego ciągu rekurencyjnego co pozwoliło na pozbycie się jednej pętli (jestem początkujący, inaczej jeszcze nie potrafię) i zmniejszyło znacząco czas wykonywania kodu. Po tym zabiegu kod przeszedł test pozytywnie.Jeszcze raz wszystkim dziękuję i serdecznie pozdrawiam.
kapi3993 Cieszę się, że przeszło. Mimo wszystko wystarczyło użyć wzoru na sumę kwadratów. n*(n+1)(2n+1)
Wiem o co Ci chodzi, q - liczba zapytań - nie wpisałem tego w poście pierwotnie. Teraz już poprawiłem i chodzi mi o to czy dla kolejnych liczb n oznaczających wymiar szachownicy (n x n) podaję dobre odpowiedzi.
Niepotrzebnie pytasz o testy powyżej 1000000, bo autor nie ma takich wymagań.Natomiast te testy do n = 1000000 dają takie same odpowiedzi u mnie.
Twoje testy są za duże - i nie mieszczą się w żadnej standartowej strukturze do trzymania liczb - autor tak dobrał zakres danych że wynik mieści się w 64 bitowej liczbie bez znaku . Wszystkie testy dla liczb mniejszych od miliona mam takie same .
Kwestia podchwytliwych została chyba wyjaśniona? [po prostu nie ma takich].Co do zgłoszenia: ID = 19203109, to tylko admini, autor zadania i Ty widzisz[widzą] kod zgłoszonego programu. Nikt inny nie widzi, więc trudno aby ktoś na forum, Ci poradził czy odpowiedział. Ale to też chyba się już wyjaśniło?Masz dwa inne zgłoszenia [z przekroczonym limitem czasu] i możesz porównać je i sam stwierdzić, co popsułeś w tym jednym zgłoszeniu: http://pl.spoj.com/status/FR_07_06,tomosatomos/