数组开大,爆栈了呀
by lngym @ 2023-01-31 12:35:11
$10^6$ 就够了,为什么开那么多
by xiaoqian02 @ 2023-01-31 12:38:54
改了一下,还是有一个TLE/(ㄒoㄒ)/~~
救救孩子~~~
```
#include<bits/stdc++.h>
#define MAXN 99999999
using namespace std;
long long a[MAXN];
bool b[MAXN];
inline long long read()
{
long long s = 0, f = 1;
char a = getchar();
while (a > '9' || a < '0')
{
if (a == '-')
{
f = -1;
}
a = getchar();
}
while (a <= '9' && a >= '0')
{
s = ((s << 3) + (s << 1)) + a - '0';
a = getchar();
}
return s * f;
}
void ny(long long n) {
long long x = 1;
for (long long i = 2; i <= n; i++) {
if (b[i]) {
a[x] = i;
x++;
}
for (int j = 1; j <= x && a[j] * i <= n; j++) {
b[a[j] * i] = false;
if (i % a[j] == 0) break;
}
}
}
int main() {
long long L, r, m, n, num;
memset(b, true, sizeof(b));
//scanf("%lld%lld", &n, &m);
n = read();
m = read();
ny(m);
for (int i = 0; i < n; i++) {
//scanf("%lld%lld", &L, &r);
L = read();
r = read();
if (r > m || L < 1) {
printf("Crossing the line\n");
continue;
}
num = 0;
for (int j = 0; a[j] <= r; j++) {
num += a[j] >= L ? 1 : 0;
}
printf("%lld\n", num);
}
return 0;
}
```
by wkl20110514 @ 2023-01-31 12:46:51
哪儿还可以改进啊…………………………………………………………………………
by wkl20110514 @ 2023-01-31 12:47:20