Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- public class Exercise08SequenceOfMaximalSum
- {
- public static void Main()
- {
- int maxStart = 0;
- int start = 0;
- int maxEnd = 0;
- int maxSum = 0;
- int sum = 0;
- Console.Write("Please input array, with white space for separator between elements: ");
- List<int> array = Console.ReadLine().Split(' ').Select(int.Parse).ToList();
- if (array.TrueForAll(x => x <= 0))
- {
- Console.WriteLine("\n" + array.Max());
- }
- else
- {
- for (int i = 0; i < array.Count; i++)
- {
- sum = sum + array[i];
- if (sum > maxSum)
- {
- maxSum = sum;
- maxStart = start;
- maxEnd = i;
- }
- if (sum < 0)
- {
- start = i + 1;
- sum = 0;
- }
- }
- Console.WriteLine("\n");
- for (int i = maxStart; i <= maxEnd; i++)
- {
- Console.Write(array[i] + " ");
- }
- }
- Console.WriteLine("\n");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement