Cod sursa(job #1119089)
| Utilizator | Data | 24 februarie 2014 15:10:05 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 85 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.57 kb |
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
const int NMAX = 6e6 + 100;
const long long oo = (1LL << 34);
int N, st, dr, beg, end, sum = -1;
int main()
{
fin >> N; int sol = INT_MIN;
for(int i = 1; i <= N; i++)
{
int x; fin >> x;
if(sum < 0)
sum = x, st = i;
else
sum += x;
if(sum > sol)
sol = sum, beg = st, dr = i;
}
fout << sol << ' ' << st << ' ' << dr;
return 0;
}
