Cod sursa(job #1049543)
Utilizator | Data | 7 decembrie 2013 14:57:19 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
const int inf= 1<<30;
int main( ) {
int n;
fin>>n;
int s= 0, sol= -inf, b= 0, e= 0, k= 1;
for ( int i= 1; i<=n; ++i ) {
int x;
fin>>x;
if ( s<0 ) {
s= x;
k= i;
} else {
s+= x;
}
if ( s>sol ) {
sol= s;
b= k;
e= i;
}
}
fout<<sol<<" "<<b<<" "<<e<<"\n";
return 0;
}