I have written this code for a problem from Codeforces. The code syntax and logic is correct. But the code is not taking any input only. It just runs and terminates on its own. code:
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e7+5;
int main(){
int seive[maxn];
int sum[maxn];
int count[maxn];
memset(seive,1,sizeof(seive));
memset(sum,0,sizeof(sum));
memset(count,0,sizeof(count));
int n,inp;
cin>>n;
int arr[n];
for(int i=0;i<n;i++) cin>>arr[i];
for(int i=0;i<n;i++){
count[arr[i]]+=1;
}
for(int i=2;i<maxn;i++){
if(seive[i]==1){
for(int j=i;j<maxn;j+=i){
if(j!=i) seive[j]=0;
sum[i]+=count[j];
}
}
sum[i] = sum[i-1]+sum[i];
}
int m;
cin>>m;
while(m--){
int l,r;
if(r>10000000) r=10000000;
if(l>=10000000) cout<<0;
else cout<<sum[r] - sum[l-1];
cout<<"\n";
}
}
Please help me in finding out what is causing this problem.