fork(2) download
  1. #include<iostream>
  2. #include<string.h>
  3. using namespace std;
  4. int fun(int arr[],int high)
  5. {
  6. int t,max_sum=0,sum=0,i=0;
  7. while(1)
  8. {
  9. while((arr[i]>0)&&(i<=high))
  10. {
  11. sum=sum+arr[i];
  12. i++;
  13. }
  14. if(sum>max_sum)
  15. max_sum=sum;
  16. int p=0;
  17. while((arr[i]<0)&&(i<=high))
  18. {
  19. p=p+arr[i];
  20. i++;
  21. }
  22. if(sum+p<=0)
  23. sum=0;
  24. if(i>high)
  25. return max_sum;
  26. }
  27.  
  28. }
  29. int main()
  30. {
  31. int arr[]={2,3,-1,-2,-4,1,2,-4};
  32. int n=sizeof(arr)/sizeof(arr[0]);
  33. cout<<fun(arr,n-1)<<" is maximum contiguous sum.\n";
  34. return 0;
  35. }
Success #stdin #stdout 0s 3296KB
stdin
Standard input is empty
stdout
5 is maximum contiguous sum.