Cod sursa(job #2033622)
Utilizator | Data | 7 octombrie 2017 07:50:32 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 15 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.51 kb |
#include <iostream>
#include <fstream>
#include <limits.h>
using namespace std;
int main()
{
ifstream f("ssm.in");
ofstream g("ssm.out");
int n,a[6000],s[6000],maxl,minl,t=0;
int min = INT_MAX,max = INT_MIN;
f >> n;
for(int i = 1;i <= n;i++){
f>>a[i];
s[i] = s[i-1] + a[i];
if(s[i] > max) {maxl = i;max = s[i];}
if(s[i] < min) {minl = i;min = s[i];}
}
t = s[maxl] - s[minl];
g << t << " " << minl + 1 << " " << maxl;
return 0;
}