Advertisement
Statev

MaxSequenceSum

Dec 17th, 2011
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.11 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace _08.MaxSequenceSum
  7. {
  8.     class MaxSequenceSum
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             int[] array = { -10, -3, -6, -10, -4, -14, -6, -1, -8, -7 };
  13.             int maxSum = array.Max();
  14.             int sum = 0;
  15.             int sequenceStart = Array.IndexOf(array,array.Max());
  16.             int someStart = 0;
  17.             int sequenceEnd = sequenceStart;
  18.             for (int i = 0; i < array.Length; i++)
  19.             {
  20.                 if (sum < 0)
  21.                 {
  22.                     someStart = i;
  23.                     sum = 0;
  24.                 }
  25.                 sum += array[i];
  26.                 if (sum > maxSum)
  27.                 {
  28.                     maxSum = sum;
  29.                     sequenceStart = someStart;
  30.                     sequenceEnd = i;
  31.                 }
  32.             }
  33.             for (int j = sequenceStart; j <= sequenceEnd; j++)
  34.             {
  35.                 Console.Write("{0} ", array[j]);
  36.             }
  37.             Console.WriteLine();
  38.         }
  39.     }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement