И самый большой подфрагмент (Los Valley P1115)

Название Описание

Принимая во внимание последовательности, в котором выбранный период непрерывного и непустого и что этот максимум.

Формат ввода

Первая строка является положительным целым числом NN N, обозначает длину последовательности.

Вторая строка содержит NN N абсолютное значение не больше , чем 1000010000 . 1 0 0 0 целое число от 0 AiA_i A I , эта последовательность , описанную колонку.

Формат вывода

Целое число, наибольший подфрагмент и сколько. Минимальная длина сегмента к югу находится . 11 1

Пример ввода и вывода

Input # 1

7 2 -4 3 -1 2 -4 3

Выход # 1

4

Описание / Советы

[Пример Описание]

2, -4,3, -1,2, -4,32, -4,3, -1,2, -4,3 2 , - . 4 , 3 , - . 1 , 2 , - . 4 , 3, максимальное суб-сегменты и 4, вспомогательный сегмент 3, -1,23, 1,2 3 , - . 1 , 2.

[Согласовано] с масштабом данных

Для 40% 40 \% . 4 0 % данных, существует N≤2000N 2000 ≤ N 2 0 0 0.

Для получения 100% 100 \% . 1 0 0 % данных, существует N≤200000N 200000 ≤ N 2 0 0 0 0 0.


По-прежнему трудно популярности - и думал, что префикс акридинового -

1 #include <. Бит / STDC ++ H>
 2 с  использованием  пространства имен STD;
3  INT п, к, ANS, Minn, maxn = - 9999 ;
4  Int в [ 200010 ], B [ 200010 ];
5  INT основных ()
 6  {
 7      CIN >> п;
8      для ( INT I = 1 ; г <= п; я ++ )
 9      {
 10          CIN >> а [I];
11          а [я] + = а [i - 1 ]; // 前缀和
12      }
 13     В [ . 1 ] = A [ 1. ]; Minn = мин ( 0 [, A . 1 ]); // А может быть отрицательным [1] . 
14      для ( INT I = 2 ; я <= п, я ++ )
 15      {
 16          Б [I] = а [I] -minn; // Minn вычитанием минимального требуемого префикса 
. 17          Minn = мин (Minn, а [I]); // помнить , чтобы обновить 
18      }
 19.      для ( INT I = 1. ; I < п =; я ++ )
 20          MAXN = макс (MAXN, в [I]); // в [I] для окончания максимума я и суб-сегмент 
21 является      COUT << MAXN;
22      возвращения  0 ;
23 }

рекомендация

отwww.cnblogs.com/ljy-endl/p/11330658.html