Cod sursa(job #1871807)
| Utilizator | Data | 7 februarie 2017 17:49:31 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.62 kb |
#include <iostream>
#include <fstream>
#include <limits.h>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
const int INF = INT_MAX;
int MAXX = -INF,n;
int sum;
int poz_maxx_start,poz_max_final,poz_start;
int main (){
fin>>n;
for(int i=1,nr; i<=n; i++){
fin>>nr;
if(sum<0){
sum = 0;
poz_start = i;
}
sum += nr;
if(sum>MAXX){
MAXX = sum;
poz_max_final = i;
poz_maxx_start = poz_start;
}
}
fout<<MAXX<<" "<<poz_maxx_start<<" "<<poz_max_final;
}
