Cod sursa(job #412870)
| Utilizator | Data | 6 martie 2010 20:10:35 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 95 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
#include <stdio.h>
#include <stdlib.h>
#include <fstream>
using namespace std;
int main(){
int n,v,i;
ifstream in("ssm.in");
ofstream out("ssm.out");
in>>n;
int smax=0,sum=0,start=1,stop=1,m=0;
for (i = 1;i <= n; ++i){
in>>v;
if (sum < 0){
sum = v;
m=i;
}
else{
sum += v;
}
if (sum > smax) {
smax = sum;
stop = i;
start = m;
}
}
out<<smax<<" "<<start<<" "<<stop<<"\n";
in.close();
out.close();
return 0;
}
