@amir nice solution

On Sun, Dec 12, 2010 at 11:40 AM, Amir hossein Shahriari <
amir.hossein.shahri...@gmail.com> wrote:

> each value in A and B is 0 or 1 so the sum of all elements in A (or B) is n
> so the sum of all elements in C which is the sum of differences between
> values in A and B is between -n and n
> now we want to maximize j-i for which C[i]+C[i+1]+...+C[j] = 0
> suppose that sum(i) = C[1]+C[2]+...+C[i] which is sum of first i elements
> in C
> if sum(i)==sum(j) this means that C[i]+C[i+1]+...C[j] = 0
> and we know that -n<=sum(i)<=n
> so we can build another array aux which aux[k] is -1 if there was not any i
> for which sum(i)=k or aux[k]=first i for which sum(i)=k
> here's a sample code for the rest:
>
> sum=0;
> aux[0]=0;
> for (i=0;i<n;i++){
>     sum+=C[i];
>     if (aux[sum]==-1)
>             aux[sum]=i+1;
>     else
>           result=max(result,i+1-aux[sum]);
> }
> return result;
>
>
> On Sat, Dec 11, 2010 at 3:30 PM, ADITYA KUMAR <aditya...@gmail.com> wrote:
>
>>
>> @amir can u explain a bit more...
>>
>> On Tue, Dec 7, 2010 at 10:09 PM, Amir hossein Shahriari <
>> amir.hossein.shahri...@gmail.com> wrote:
>>
>>> @jai : since sum of all values in C is between -n and n the last step can
>>> be done in O(n) time and O(n) space
>>>
>>>
>>> On Sun, Dec 5, 2010 at 12:44 PM, jai gupta <sayhelloto...@gmail.com>wrote:
>>>
>>>> @fenghuang: the last step will take O(n logn ) . Or there is some better
>>>> way?
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Algorithm Geeks" group.
>>>> To post to this group, send email to algoge...@googlegroups.com.
>>>> To unsubscribe from this group, send email to
>>>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
>>>> .
>>>> 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 algoge...@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
>>> .
>>> For more options, visit this group at
>>> http://groups.google.com/group/algogeeks?hl=en.
>>>
>>
>>
>>
>> --
>> Regards
>> Aditya Kumar
>> B-tech 3rd year
>> Computer Science & Engg.
>> MNNIT, Allahabad.
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Algorithm Geeks" group.
>> To post to this group, send email to algoge...@googlegroups.com.
>> To unsubscribe from this group, send email to
>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
>> .
>> 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 algoge...@googlegroups.com.
> To unsubscribe from this group, send email to
> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
> .
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>



-- 
Regards
Aditya Kumar
B-tech 3rd year
Computer Science & Engg.
MNNIT, Allahabad.

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algoge...@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