Cod sursa(job #1626385)
| Utilizator | Data | 3 martie 2016 08:21:32 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.62 kb |
#include <fstream>
#define IN "ssm.in"
#define OUT "ssm.out"
using namespace std;
ifstream fin(IN);
ofstream fout(OUT);
int best, maxim = -(1<<30), inc, sf;
int n;
int x;
void solve();
int main(){
solve();
fout <<maxim<<' '<<inc<<' '<<sf<<'\n';
fout.close();
return 0;
}
void solve(){
int i, st = 0;
fin >>n;
best = -1;
for (i = 1; i <= n; ++i){
fin >>x;
if (best < 0){
best = x;
st = i;
}
else{
best += x;
}
if (best > maxim){
maxim = best;
inc = st;
sf = i;
}
}
}