Cod sursa(job #1012451)
Utilizator | Mic Matei bigdogg | Data | 19 octombrie 2013 00:55:57 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include <fstream>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int n;
int min = 0, max;
int minStart = 0, start = 1, end = 1;
int sum;
ifstream in("ssm.in");
in >> n;
in >> sum;
max = sum;
for(int count = 2, x; count <= n; ++count)
{
in >> x;
sum += x;
if(max < sum - min) max = sum - min, start = minStart + 1, end = count;
else if(min > sum) min = sum, minStart = count;
}
ofstream out("ssm.out");
out << max << ' ' << start << ' ' << end << endl;
return 0;
}