Cod sursa(job #2340591)
| Utilizator | Data | 10 februarie 2019 18:16:15 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 95 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.58 kb |
#include <fstream>
#define MAX 6000001
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
long long best_sum = -99999999;
int a[MAX],sum[MAX];
int i,n,s,j,ii,jj,jjj,best;
int main()
{
f >> n;
for(i = 1; i <= n; ++i)
f >> a[i],sum[i] = sum[i-1] + a[i];
s = sum[0];
for(i = 1; i <= n ; ++i)
{
best = sum[i] - s;
if(sum[i] < s)
s = sum[i], j = i;
if(best_sum < best)
best_sum = best, ii = i,jj = j;
}
g << best_sum << " " << jj+1 << " " << ii;
return 0;
}
