为什么0分?
#include <bits/stdc++.h>
using namespace std ;
int n ;
int m ;
const int MAXSIZE = 1e6 ;
int Prime[1000000] ;
int Is[1000000] ;
void Get()
{
int cnt = 0 ;
memset(Is, true, sizeof(Is)) ;
Is[0] = Is[1] = 0 ;
for (int i = 2 ;i <= m ;i ++)
{
if (Is[i] == 1)
{
cnt ++ ;
Prime[cnt] = i ;
}
for (int j = 1 ;j <= cnt && i * Prime[j] <= m ;j ++)
{
Is[i * Prime[j]] = 0 ;
if (i % Prime[j] == 0)
{
break ;
}
}
}
}
int main()
{
cin >> n >> m ;
Get() ;
for (int i = 1 ;i <= n ;i ++)
{
int a, b ;
cin >> a >> b ;
if (max(a, b) > m || min(a, b) < 1)
{
cout << "Crossing the line" << endl ;
continue ;
}
int ans = 0 ;
for (int j = min(a, b) ;j <= max(a, b) ;j ++)
{
if (Is[j] == 1)
{
ans ++ ;
}
}
cout << ans << endl ;
}
return 0 ;
}