已过,不是求助帖
#include <iostream>
#include <vector>
using namespace std;
const int N=1e6+5;
bool st[N];
int sm[N];
int i,j;
int main(){
int q,n;
cin >> q >> n;
for (i=2;i<=n;++i){
if (!st[i]){
sm[i]++;
for (j=i+i;j<=n;j+=i){
st[j]=true;
}
}
}
for (i=1;i<=n;++i){
sm[i]+=sm[i-1];
}
int l,r;
for (i=0;i<q;++i){
scanf("%d%d",&l,&r);
if (l<1 || l>n || r<1 || r>n){
printf("Crossing the line\n");
}else{
printf("%d\n",sm[r]-sm[l-1]);
}
}
return 0;
}
提交记录
为什么有的内存小有的内存很大(#14 测试点),是因为输入输出吗