andreykata

ArraysExercise08

Jan 13th, 2013
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.57 KB | None | 0 0
  1. using System;
  2.     class Program
  3.     {
  4.         static void Main(string[] args)
  5.         {
  6.             int[] array = { 2, 1, -1, 6, -2, -1, 2, 4, -8, 8 };            
  7.             int sum = array[0];
  8.             int last = array[0];
  9.             int maxSum = int.MinValue;
  10.             int length = 1;
  11.             int maxLength = 1;
  12.             int start = 0;            
  13.             for (int i = 1; i < array.Length; i++)
  14.             {
  15.                 if (array[i] + last >= last)
  16.                 {
  17.                     last = array[i];
  18.                     length++;
  19.                     sum = last + sum;
  20.                 }
  21.                 else if (array[i] < 0 && (array[i] + array[i+1] > 0))
  22.                 {
  23.                     last = array[i];
  24.                     length++;
  25.                     sum = last + sum;
  26.                 }
  27.                 else if (array[i+1] < 0)
  28.                 {
  29.                     i++;
  30.                     length = 0;
  31.                     sum = 0;
  32.                     last = 0;
  33.                 }
  34.                 else
  35.                 {
  36.                     maxSum = sum;
  37.                     length = 1;
  38.                     sum = array[i];
  39.                 }
  40.                 if (sum > maxSum)
  41.                 {
  42.                     maxSum = sum;
  43.                     start = i - length + 1;
  44.                     maxLength = length;
  45.                 }                
  46.             }
  47.             for (int i = start; i < start + maxLength; i++)
  48.             {
  49.                 Console.WriteLine("{0} ", array[i]);
  50.             }
  51.         }
  52.     }
Advertisement
Add Comment
Please, Sign In to add comment