Mai intai trebuie sa te autentifici.
Cod sursa(job #1461318)
Utilizator | Data | 15 iulie 2015 13:49:43 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.63 kb |
#include <iostream>
#include <fstream>
#define Max(a, b) ((a) > (b) ? (a) : (b))
using namespace std;
ifstream fin ("ssm.in") ;
ofstream fout ("ssm.out") ;
int N , sir [ 6000001 ] ;
void SSM ()
{
fin >> N ;
int best = -int (2e9) , sum = 0 , st = 1 , dr = 1 , ind , elem ;
for ( int i = 1 ; i <= N ; ++ i )
{
fin >> elem ;
if ( sum < 0 )
sum = elem , ind = i ;
else
sum += elem ;
if ( best < sum )
best = sum , st = ind , dr = i ;
}
fout << best << " " << st << " " << dr ;
}
int main()
{
SSM () ;
return 0;
}