Cod sursa(job #2288423)

Utilizator stewie368Stefan stewie368 Data 23 noiembrie 2018 13:08:44
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 kb
#include<bits/stdc++.h>
using namespace std;
int n,i;
int a[6000015],s[6000015];

ifstream fin("ssm.in");
ofstream fout("ssm.out");

void secventa()
{
	int  max1 = a[1],suma=a[1],v1,v2=1;
	for(int i=2;i<=n;i++)
	{
		if(suma>0)
		suma+=a[i];else
		suma=a[i];
		if(suma > max1) max1=suma, v2 = i;
		s[i]=suma;
	}
	for(int i=v2-1;i>= 1;i--)
	{
		if(s[i]<0) {v1=i+1;break;}
	}
	fout<<max1<<' '<<v1<<' '<<v2<<' ';
}

int main()
{
	fin>>n;
	for(int i=1;i<=n;i++)
	   fin>>a[i];
	secventa(); 
	return 0;  
}