• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zadanie puzzle z mistrza programowania 2023

Aruba Cloud - Virtual Private Server VPS
0 głosów
152 wizyt
pytanie zadane 25 lipca 2024 w C i C++ przez Sophix Początkujący (270 p.)

Hej, napisałam kod, który działa mi w kompilatorze, ale jak wrzucam na szkopuła to wyświetla signal 11. Na razie tablica jest ustawiona na 1e6, bo na 1e7 jest przekroczenie czasu, więc jeżeli ktoś wie jak można skrócić czas działania programu, to będę wdzięczna za pomoc. Poniżej wrzucam też link do treści zadania ze szkopuła.

https://szkopul.edu.pl/problemset/problem/rZa6uMvtCyNIUH1_U0GNM8SU/site/?key=statement

#include <bits/stdc++.h>
using namespace std;
const int MAX=1e6;
int dzielniki[MAX+2];

void Sito(){
    int zakres=sqrt(MAX);
    for (int i=1; i<=zakres;i++){
        for(int j=i*i; j<=MAX; j++){
            dzielniki[j]=i;
        }
    }
    
}

int main(){
    ios_base::sync_with_stdio(0);   cin.tie(0); cout.tie(0);
    Sito();
	int t, n, ans;
    cin >> t;
    while(t--){
        cin >> n;
        ans=(dzielniki[n]+2)*2+(n/dzielniki[n]+2)*2-4;
        cout << ans << endl;
    }

    return 0;
}

1 odpowiedź

+2 głosów
odpowiedź 25 lipca 2024 przez Whistleroosh Maniak (57,400 p.)
wybrane 25 lipca 2024 przez Sophix
 
Najlepsza
Sito ma literówkę, która powoduje, że działa dużo wolniej :) Po poprawce i ustawieniu MAX na 1e7 będzie mieściło się w czasie. Zachęcam do poszukania tej literówki.
komentarz 25 lipca 2024 przez Sophix Początkujący (270 p.)
Chyba znalazłam, aż ciężko uwierzyć, że człowiek próbuje przez godziny znaleźć jakieś optymalne rozwiązanie gdy jest ono na wyciągnięcie ręki. Czy to j+=i? Dzięki wielkie
komentarz 26 lipca 2024 przez Whistleroosh Maniak (57,400 p.)
Tak, to dokładnie to :)

Podobne pytania

0 głosów
0 odpowiedzi 155 wizyt
+4 głosów
2 odpowiedzi 7,701 wizyt
pytanie zadane 14 maja 2015 w Rozwój zawodowy, nauka, praca przez Pinio Gaduła (3,520 p.)
+1 głos
2 odpowiedzi 437 wizyt
pytanie zadane 9 czerwca 2022 w JavaScript przez Maciek273 Początkujący (450 p.)

93,329 zapytań

142,323 odpowiedzi

322,400 komentarzy

62,662 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...