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;
}
