Cod sursa(job #377067)
Utilizator | alexandru alexandru92 | Data | 23 decembrie 2009 12:58:01 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.62 kb |
/*
* File: main.cpp
* Author: virtualdemon
*
* Created on December 23, 2009, 12:32 PM
*/
#include <fstream>
/*
*
*/
using namespace std;
int main()
{int n, x, S, SMax, start=1, end=1, st=1, i;
ifstream in("ssm.in");
in>>n>>x;
S=SMax=x;
for( i=2; i <= n; ++i )
{
in>>x;
if( S < 0 )
{S=x; start=i;
if( SMax < S )
SMax=S, st=start;
}
else {
S+=x;
if( S > SMax )
SMax=S, st=start, end=i;
}
}
ofstream out("ssm.out");
out<<SMax<<' '<<st<<' '<<end;
return 0;
}