Beispiel #1
0
int bisect_left(int s, int e, int val)
{
  int m=(s+e)/2;
  if(primes[m] ==val) return m+1;
  if(s==e)
   return primes[m]>val?m:m+1;
  if(primes[m]>val) return bisect_left(s,m,val);
  else return bisect_left(m+1,e,val);
}
Beispiel #2
0
int solve(int n)
{
   int l=vals[n];
   int low=bisect(0,p-1,n-l+1);
   int high= bisect_left(low,p-1,n);
   return (high-low);
}
Beispiel #3
0
template <class A> __ss_int bisect_left(list<A> *a, A x, __ss_int lo=0) {
    return bisect_left(a, x, lo, len(a));
}