Pagini recente » Cod sursa (job #828659) | Cod sursa (job #2483380) | Cod sursa (job #2596790) | Cod sursa (job #1632569) | Cod sursa (job #2029926)
///ssm folosind dinamica
///pt. fiecare el. i: pot sa incep subsecventa de pe el. i sau pot sa o continui cu el. i
#include <bits/stdc++.h>
using namespace std;
ifstream F("ssm.in");
ofstream G("ssm.out");
int n, x, L, R, l, r, d[6000005], bestans;
int main()
{
F >> n;
bestans=-1<<30;
for(int i = 1; i <= n; ++ i)
{
F >> x;
if(d[i-1]+x<x) /// sau d[i-1]<x-x <=> d[i-1]<0
d[i]=x, l=i;
else d[i]=d[i-1]+x;
if(d[i]>bestans) bestans=d[i], L=l, R=i;
}
if(L > R) L = R;
G << bestans << " " << L << " " << R;
return 0;
}