Mam 'problem' z pewnym zadaniem a mianowicie : http://pl.spoj.com/problems/EUCGAME/
Wynik jest poprawny, niestety w 3 próbie dostaje "przekroczyłeś limit czasowy"
Wyniki się zgadzają, porównywałem na testach na forum spoja. Nie wiem co mogę jeszcze zrobić, aby lepiej ogarnąć ten algorytm euklidesa.
#include <iostream>
using namespace std;
int main()
{
unsigned long long a, b;
unsigned l_tests = 0;
cin >> l_tests;
while(l_tests)
{
cin >> a >> b;
while(a != b)
{
if(a >b)a -= b;
else b -= a;
}
cout << a+b << "\n";
l_tests--;
}
cin.sync();
cin.get();
return 0;
}
Zastanawiam się nad próbą z modulo, bo aktualnie 3 poprawki robiłem i za każdym razem 10/15 pkt [gdyż w 3ciej próbie przekraczam czas o 0.1s]
Jakieś propozycje, błędy odnośnie kodu ?