Hi, here i maintained two pair of indexes with respect to a and b, reply if
u found any test case which fails..

int npairs()
{
 int a[] = {0,1,4,5,9,11,20};
 int b[] = {0,2,3,6,8,11,15};
 int c[20];
 int len = sizeof(a)/sizeof(a[0]);
 int i1,j1,i2,j2;
 i1=len-1;
 j1=len-2;
 i2=len-2;
 j2=len-1;

 int count = 0;
    c[count++] = a[len-1]+b[len-1]; //obvious
 while(count<=len)
 {
  if( (a[i1-1]+a[j2-1] > a[i1]+b[j1]) &&  (a[i1-1]+a[j2-1] > a[i1]+b[j1]) )
  {
   c[count++] = a[i1-1]+b[j2-1];      //highest  sum with higher numbers
have exhausted
   i1 = i1-1,j2=j2-1,j1=j2-1,i2=i1-1;
   continue;
  }
  if(a[i1]+b[j1] >= a[i2]+b[j2] )
  {
   c[count++] = a[i1]+b[j1];
   j1--;
  }
  else
  {
   c[count++] = a[i2]+b[j2];
   i2--;
  }
 }

 for(int i =0;i<len;i++)
  printf("%d ",c[i]);
 return 0;
}

surender
On Mon, Jul 11, 2011 at 10:46 AM, sunny agrawal <[email protected]>wrote:

> A = 0, 1, 4, 5, 9, 11, 20
> B = 0, 2, 3, 6, 8, 13, 15
>
> (20, 15)  (20, 15) -> (20,15)
> (20,13)   (11,15)  -> (20,13)
> (20,8)     (11,15)  -> (20,8)
> (20,6)     (11,15)  -> assume (20,6)
> (20,3)     (11,15)  -> (11,15)
> (20,3)     (9,15)    -> (9,15)
> (20,3)     (5,15)    -> (20,3)  .....problem (11,13) has higher value but
>
> did i missed something ??
>
>
> --
> Sunny Aggrawal
> B-Tech IV year,CSI
> Indian Institute Of Technology,Roorkee
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>

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

Reply via email to