Cod sursa(job #273790)

Utilizator toni2007Pripoae Teodor Anton toni2007 Data 9 martie 2009 00:11:52
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <cassert>
#include <climits>
#include <iostream>
#include <iomanip>
#include <queue>
#include <vector>
#include <deque>
#include <algorithm>
#include <set>
#include <bitset>
#include <stack>

using namespace std;

#define pb			push_back
#define mp			make_pair
#define all(v)			v.begin(), v.end()
#define ff			first
#define ss			second
#define pii			pair<int,int>

int maxI = LONG_MIN, N, i, now, Sum, Left, Right, StN;

int main () {
	
	freopen("ssm.in", "r", stdin);
	freopen("ssm.out", "w", stdout);
	
	for (scanf("%d", &N), i = 1; i <= N; ++ i){
		scanf("%d", &now);
		if (Sum < 0)	Sum = now, StN = i;
		else		Sum += now;
		if (Sum > maxI) {
			maxI = Sum;
			Left = StN;
			Right = i;
		}
	}
	
	cout << maxI << " " << Left << " " << Right << "\n";
}

// powered by gedit snippets and suse :)