Pagini recente » Cod sursa (job #1552711) | Cod sursa (job #1445957) | Cod sursa (job #1117495) | Cod sursa (job #978946) | Cod sursa (job #458896)
Cod sursa(job #458896)
#include <iostream>
#include <fstream>
const int MAXN = 6e+6 ;
using namespace std ;
ifstream f ( "ssm.in" ) ;
ofstream g ( "ssm.out" ) ;
int secventa [ MAXN ] , suma [ MAXN ] ;
int nrNumere , maximum , Start = 1 ;
int maxEu ( int a , int b )
{
if ( a > b )
return a ;
return b ;
}
void citireFisier ( )
{
f >> nrNumere ;
int Start1 = 1 ;
for ( int i = 1 ; i <= nrNumere ; i++ )
{
f >> secventa [ i ] ;
if ( suma [ i - 1 ] < 0 )
Start1 = i ;
suma [ i ] = maxEu ( 0 , suma [ i - 1 ] ) ;
suma [ i ] += secventa [ i ] ;
if ( suma [ maximum ] < suma [ i ] )
{
Start = Start1 ;
maximum = i ;
}
}
}
int main ( )
{
citireFisier ( ) ;
int S ;
g << suma [ maximum ] << " " ;
int i = maximum ;
S = suma [ maximum ] ;
g << Start << " " << maximum << endl ;
return 0 ;
}