Pagini recente » Cod sursa (job #2182494) | Cod sursa (job #2715117) | Cod sursa (job #2860702) | Cod sursa (job #2231752) | Cod sursa (job #3208324)
#include <bits/stdc++.h>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
const int NMAX = 6e6+5;
int n, x, s[2], maxi, inds, indf;
pair<int, int> smin[2];
int main()
{
in>>n;
for (int i=1; i<=n; i++)
{
in>>x; //s[0] smin[0] -> sumele precedente (i-1)
s[1]=s[0]+v[i];
if (s[1]<smin[0].first)
smin[1].first = s[1], smin[1].second = i;
else smin[1].first = smin[0].first, smin[1].second = smin[0].second;
//suma minima dintre sumele de la 1 la 2, 3, ..., i
if (s[1]-smin[1].first>maxi)
maxi = s[1]-smin[1].first, inds = smin[1].second+1, indf = i;
s[0] = s[1];
smin[0] = smin[1];
}
out<<maxi<<' '<<inds<<' '<<indf;
}