1 / 3
Jul 2020

Chciałbym się zapytać tak z ciekawości, ukończyłem zadanie Liczby Pierwsze i cały program trwał 0.38 sekundy.
Na najlepszych wynikach w języku C++ widzę że u innych program trwał 0.00 sekund i chciałbym się zapytać, czy naprawdę jest możliwe zrobienie go by działał tak szybko i po prostu jestem zbyt mało doświadczony czy jest to jakiś rodzaj błędu.

  • created

    Jul '20
  • last reply

    Jul '20
  • 2

    replies

  • 474

    views

  • 2

    users

  • 2

    likes

Dlaczego piszesz swój wątek w dziale Tutoriale, poradniki? Powinien być w dziale Zbiór zadań. Robisz w ten sposób bałagan. A co do meritum.

Szybkość wykonania zadania zależy do trzech czynników

  1. Efektywności algorytmu.
  2. Szybkości wczytywanie danych
  3. Szybkości wypisywania wyników.
    W zasadzie najważniejszy jest pierwszy czynnik. Ja w tym zadaniu bez żadnych fajerwerków z szybkim wczytywaniem i wypisywaniem miałem 0.05 s.
    Drugi czynnik jest istotny przy niektórych zadaniach, trzeci wykorzystuje się na SPOJ chyba najrzadziej.
    Najprostszą metodą przyspieszenia wczytywania w C++ jest wyłączenie synchronizacji poleceniem
    ios_base::sync_with_stdio(0);
    wpisanym przed wykonaniem operacji WE/WY (wczytywania/wypisywania) .
    Są jeszcze inne metody szybkiego wczytywania/wypisywania i ultraszybkiego wczytywania/wypisywania. Jest to wielokrotnie opisywane na SPOJ

Wybacz pierwszy raz piszę na forum nazwa tego działu wydawała mi się mówiąca o właśnie takich pytaniach od nazwy “Poradniki”.
Następnym razem temat zrobię w dobrym dziale.
Rozumiem że są sposoby na przyśpieszenie programu, temat można zamknąć.