Za bardzo nie ma co doszukiwać się zależności pomiędzy wprowadzanymi danymi poza ich typem i przedziałem.
Jeśli chodzi o prędkość działania programu to już kwestia zadania, sprytu programisty no i samych narzędzi (GCC 4.8 nie jest najnowszą wersją kompilatora).
Na pewno ograniczenie iteracji, wykonywanie obliczeń na liczbach całkowitych zamiast zmiennoprzecinkowych (czy nawet mnożenie zamiast dzielenia), w miarę możliwości używanie constexpr, nienadmierna wirtualizacja (dziedziczenie, polimorfizm), mała ilość instrukcji i skomplikowania algorytmu wpływa dobrze na szybkość kodu.
Na pewno trzeba dobrze przeczytać zadanie i je zrozumieć, a także mieć niemałą wiedzę matematyczną (lepiej coś wyliczyć niż przeszukiwać całą tablicę).