@rohit:i got my mistake..insteat of arr[2]=x[2];
it should be arr[2]=max{x[1],x[2]}
so now my code goes lyk this
let arr[] stores the value of max amount upto each shop that they can rob.
arr[1]=x[1];
arr[2]=max{x[1],x[2]};
for(i=3;i<=n;i++)
{
arr[i]=max{(arr[i-2]+x[i]),arr[i-1]};
}
arr[n] gives the max amount that can be robbed...
correct me if i am wrong.
On Sun, Aug 28, 2011 at 7:37 PM, Anurag Narain <[email protected]>wrote:
> i tink logic which kamakshi gave is correct
>
>
>
> code for same:::
>
>
> #include<stdio.h>
>
> int max(int a,int b)
> {
> return (a>b?a:b);
> }
>
> int value(int a[],int l)
> {
> if(l<0)
> return 0;
> return max(a[l]+value(a,l-2),value(a,l-1));
> }
>
> int main()
> {
> int a[]={4,3,2,5,7,8};
> printf("max::%d",value(a,5));
> return 0;
>
> }
>
> --
> 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.
>
--
Regards,
Kamakshi
[email protected]
--
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.