Oczywiście użyłem scanf i printf, inaczej bym nie zawracał gitary. a cały kod wygląda mniej więcej tak:
scanf (abcd);
prinf (coś tam pomnóż coś tam podziel ewentualnie spierwiastkuj) ;
Więc nie wiem co tu można bardziej zoptymalizować… Dodam że skrócić w żaden sposób obliczeń się nie da.
@manjaro
scanf
i printf
to nie jest jeszcze (bardzo) szybki I/O, a jeżeli testów jest w przybliżeniu tak gdzieś “w ciul” (5*10^5) to może to mieć znaczenie.
Dlaczego amount jest typu long long?
Czy wiesz jakie/ile będzie miał x oraz y:
double x = 11 / 2
int b = 10000, d = 100;
double y = d * b * b
kodu
Jeżeli nie jesteś pewny, to napisz odpowwiedni programik
PS
Po uwzględnieniu powyższego i poprawieniu twojego kodu, uzyskałem TLE. Po przyśpieszeniu, a o tym jak, pisałem Ci w poprzednim wątku, pojawiło się zielone AC
PS 2
To było pytanie retoryczne. Użyty tu typ nie ma żadnego znaczenia do zaliczenia lub nie, zadania. Pytanie było retoryczne, bo znam odpowiedź. Nie ogarniasz typów zmiennych i to pytanie miało tylko zwrócić twoją uwagę na konieczność odrobienia tej zalegości lub jak tego nie odrobisz/nadrobisz będziesz ciągle miał z tym problemy.
Kluczem tutaj jest znajomość niejawnej konwersji typów [pytanie o x i y] w C++ oraz potem przyśpieszenie kodu.
I tu na forum, i w necie jest pełno informacji na temat szybszego wczytywania, chociażby np: https://www.geeksforgeeks.org/fast-io-for-competitive-programming/7
Twoje przeróbki kodu bardzo spowalniają jego działanie. Dlaczego sądzisz, że pow (a, 2) jest szybsze od a * a? Nie, nie jest. Takie użycie typów, jak to zrobiłeś w swoim kodzie, chociaż da Ci koniec końców AC, ale jest dalekie od optymalnego.