int main(int argc, const char * argv[]) {

    

    myobj middle, side;

    

    int total;

    cin>>total;

    

    int *arr=new int[total];

    for(int i=0; i<total; i++)

        cin>>arr[i];

    

    middle=bridge_arr(arr, 0, total);

    side=search_arr(arr, 0, total);

    

    if(side.max>middle.max)

        cout<<side.first<<" "<<side.last<<" "<<side.max<<endl;

    else

        cout<<middle.first<<" "<<middle.last<<" "<<middle.max<<endl;


    return 0;

}

myobj bridge_arr(int *array, int first, int last)

{

    myobj mystore;

    int left_store=-999999999; //almost limit of int type num

    int right_store=-999999999;

    int store_left_index=0;

    int store_right_index=0;

    int left_sum=0;

    int right_sum=0;

    for(int i=(first+last)/2; i>=first; i--) //반나눈 앞부분의 마지막 인덱스부터 뒤로 찾아감.

    {

        left_sum=left_sum+array[i];

        if(left_store<left_sum)

        {

            left_store=left_sum;

            store_left_index=i;

        }

        

    }


큰 글씨에서 문제가 발생함 2번째꺼에서 연산하면  일단 순차적으로 코드 실행시키면 값은 다 제대로 박혀있는데 
저 연산만하면 left_sum이 값이 랜덤으로 쓰레기값이 되어버림..

왜그럴까요