fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6. int n;
  7. cin>>n;
  8.  
  9. int a[1000];
  10. int maximumSum=0;
  11. int currentSum=0;
  12. int left,right;
  13. int cumsum[1000]={0};
  14.  
  15. cin>>a[0];
  16. cumsum[0]=a[0];
  17.  
  18. for (int i =1; i < n;i++)
  19. {
  20. cin>>a[i];
  21. cumsum[i]=cumsum[i-1]+a[i];
  22.  
  23. }
  24. for (int i = 0; i < n; ++i)
  25. {
  26. cout<<cumsum[i]<<" ";
  27. }
  28. cout<<endl;
  29.  
  30. //Generate all subarrays
  31. for (int i = 0; i < n; i++)
  32. {
  33. for (int j = i; j<n ;j++)
  34. { currentSum=0;
  35. currentSum=cumsum[j]-cumsum[i-1];
  36. cout<<currentSum<<" ";
  37.  
  38.  
  39. if (currentSum > maximumSum)
  40. {
  41. maximumSum=currentSum;
  42. left=i;
  43. right=j;
  44. }
  45. }
  46. /* code */
  47. }
  48. cout<<endl;
  49.  
  50. cout<<"maximum Sum of subarray possible is-"<<maximumSum<<"-->> "<<endl;
  51. for(int k=left; k<=right;k++){
  52. cout<<a[k]<<':';
  53. }
  54. cout<<endl;
  55. return 0;
  56. }
Success #stdin #stdout 0s 15232KB
stdin
5
1 2 3 4 5
stdout
1 3 6 10 15 
1 3 6 10 15 2 5 9 14 3 7 12 4 9 5 
maximum Sum of subarray possible is-15-->>  
1:2:3:4:5: