title: Runtime error in SPOJ
body: <p>I just started with competitive programming. I am kinda stuck with this prime no. generator problem on SPOJ. Code works fine on GeeksforGeeks IDE but on SPOJ it gives a <strong>runtime error</strong>. The question goes like this:</p>
  
  <p>Peter wants to generate some prime numbers for his cryptosystem. Help him! Your task is to generate all prime numbers between two given numbers!</p>
  
  <p>Input:
  The input begins with the number t of test cases in a single line (t&lt;=10). In each of the next t lines there are two numbers m and n (1 &lt;= m &lt;= n &lt;= 1000000000, n-m&lt;=100000) separated by a space.</p>
  
  <p>Output:
  For every test case print all prime numbers p such that m &lt;= p &lt;= n, one number per line, test cases separated by an empty line.</p>
  
  <p>Example </p>
  
  <pre><code>Input:
  2
  1 10
  3 5
  
  Output:
  2
  3
  5
  7
  
  3
  5
  </code></pre>
  
  <p>and my solution is this: </p>
  
  <pre><code># include&lt;iostream&gt;
  # include &lt;math.h&gt;
  
  using namespace std;
  
  int main() {
  
  int t;
  cin&gt;&gt;t;
  while(t--){
      int up,low;
      cin&gt;&gt;low&gt;&gt;up;
      int len = 1000000;
      bool arr[len];
      arr[1]=arr[0]=false;
      for(int i=2;i&lt;=up;i++)
          arr[i]=true;
  
      for(int i=2;i&lt;sqrt(up);i++) {
          if(arr[i]==true){
              for(int j=(i*i);j&lt;=up;j+=i){
                  arr[j]=false;
              }
          }
      }
  
      for(int i=low;i&lt;=up;i++)
      {
          if(arr[i]==true)
              cout&lt;&lt;i&lt;&lt;endl;
      }
      if(t==1)
          cout&lt;&lt;endl;
  }
  return 0;
  </code></pre>
  
  <p>}</p>
  
  <p>I have used Sieve of Eratosthenes to solve this problem.</p>