leaps   6년 전

#include <stdio.h>

int c[1000001];
int main() {
int n, m;
scanf("%d %d", &n, &m);

for (int i = 2; i <= m; i++) {
if (c[i] != 0) {
continue;
}
if(i>=n) printf("%d\n", i);
for (int j = 1; j*i <= m; j++) {
c[j*i] = 1;
}
}
}


간단하게 코드를 구성해서 통과하였는데요

만약 N이 1이들어오고 M이 1000000이 들어오게되면 프린트만 2초가 넘게 걸릴텐데, 어떻게 통과한걸 까요?

기준이 궁금합니다.

djm03178   6년 전

채점 환경에서 출력은 상당히 빠른 편입니다. 그리고, https://www.acmicpc.net/help/j... 에 나와 있듯이 '출력 초과'의 기준이 1MB이기 때문에 1MB 이상의 출력을 요구하는 케이스는 주지 않습니다.

jh05013   6년 전

문제 번호를 쓰는 칸이 있고, 소스코드를 넣는 칸도 있습니다.

댓글을 작성하려면 로그인해야 합니다.