Cod sursa(job #667072)

Utilizator narcis_vsGemene Narcis - Gabriel narcis_vs Data 22 ianuarie 2012 16:31:19
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>
using namespace std; 
int a[6000002];
int main ()
{
    int n,i,s,st,dr,maxim,poz;
    ifstream fin("ssm.in");
    fin>>n;
    for (i=1; i<=n; i++)
        fin>>a[i];
    s=a[1];
    maxim=a[1];
    st=1;
	poz=1;
	dr=1;
    if (s<0) 
	{
		s=0;
		poz=2;
	}
    for (i=2; i<=n; i++)
    {
        s=s+a[i];
        if (s>maxim)
		{
			maxim=s;
			dr=i;
			st=poz;
		}
        if (s<0) 
		{
			s=0;
			poz=i+1;
		}
    }
    ofstream fout("ssm.out");
    fout<<maxim<<" "<<st<<" "<<dr<<"\n";
    fout.close();
    return 0;
}