i did the same prob wit range maximum query.. but im repeatedly
getting wrong answer.. im stuck with this prob for a long time.. pls
help..

my code:

#include<iostream>
using namespace std;
#include<stdlib.h>
#include<stdio.h>
int A[50010];
int M[9999999];
void initialize(int node, int b, int e)
{
      if (b == e)
          M[node] = b;
      else
       {
          initialize(2 * node, b, (b + e) / 2);
          initialize(2 * node + 1, (b + e) / 2 + 1,e);
          if (A[M[2 * node]] >= A[M[2 * node + 1]])
              M[node] = M[2 * node];
          else
              M[node] = M[2 * node + 1];
      }
}
int query(int node, int b, int e, int i, int j)
{
      int p1, p2;
      if (i > e || j < b)
          return -9999;
      if (b >= i && e <= j)
          return M[node];
      p1 = query(2 * node, b, (b + e) / 2,i, j);
      p2 = query(2 * node + 1, (b + e) / 2 + 1, e, i, j);
      if (p1 == -9999)
          return p2;
      if (p2 == -9999)
          return p1;
      if (A[p1] >= A[p2])
          return p1;
      return p2;

}

int main()
{
  int n,i,t,j,count=0,k,size;

          scanf("%d%d",&n,&t);

    for (i=1;i<=n;i++)
        scanf("%d",&A[i]);

  initialize(1,1,n);
  for(i=0;i<t;i++)
  {
    int x,y;
    scanf("%d%d",&x,&y);
    k=query(1,1,n,x,y);
    if(!(x<k && k<y))
    count++;
  }
  printf("%d",count);
return 0;
}


On 6/11/11, KK <kunalkapadi...@gmail.com> wrote:
> Search Topcoder Tutorial Range Minimum Query @ Google...
> By few intuitive changes u can implement Range Maximum Query as well...
>
> --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to algogeeks@googlegroups.com.
> To unsubscribe from this group, send email to
> algogeeks+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>
>


-- 
.... radhika .. :)

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to