CPP Prime Генератор SPOJ Сито

Я реализовал генератор сит. Код довольно быстрый и потребляет меньше памяти. https://www.spoj.com/problems/PRIME1/

Но я получаю «Неправильный ответ», когда отправляю решение. Кажется, люди в Интернете просто устанавливают максимальное значение 32000 и запускают решение. Я не совсем понимаю, где я на самом деле не так? Или это просто лишний newline (если возможно), что делает решение неверным?

#include <iostream>
#include <unordered_map>

using namespace std;

int main(void) {

unordered_map<long long int, bool> notPrime;
notPrime[0] = true;
notPrime[1] = true;
for (long long int x = 2; x < 100000; x++) {
if (notPrime[x]) continue;
for (long long int u = 2 * x; u < 100000; u += x)
notPrime[u] = true;

}

int n;
cin >> n;

while (n--) {
long long int s, e;
cin >> s >> e;

if (s < 0)
s = 0;

for (long long int i = s; i <= e; i++) {
if (!notPrime[i]) {
cout << i << '\n';
}
}

if (n)
puts("");

}

return 0;
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]