Cod sursa(job #1526695)
| Utilizator | Data | 17 noiembrie 2015 01:31:07 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 85 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.6 kb |
#include <iostream>
#include <fstream>
using namespace std;
const int INF = 2000000000;
int main()
{
int N, sMax = -INF, iMax = 1, jMax, minim = 0, sum = 0;
ifstream f("ssm.in");
ofstream g("ssm.out");
f >> N;
sMax = -INF;
for(int i = 1; i <= N; i ++)
{
int x;
f >> x;
sum = sum+x;
if(sum-minim > sMax)
{
sMax = sum-minim;
jMax = i;
}
if(sum < minim)
{
minim = sum;
iMax = i+1;
}
}
g << sMax << " " << iMax << " " << jMax;
g.close();
return 0;
}
