Pagini recente » Cod sursa (job #1537349) | Cod sursa (job #43988) | Cod sursa (job #3226902) | Cod sursa (job #1451751) | Cod sursa (job #529727)
Cod sursa(job #529727)
// subsecventa maximala
#include <fstream>
#define INF 999999999
#define MAXN 6000010
using namespace std;
int v[MAXN];
int main()
{
int n;
ifstream f("ssm.in");
ofstream g("ssm.out");
long long Smax = -INF;
int min = 0, pozi = 0, pozf = 0, poz_min = 0;
v[0] = 0;
f >> n;
for(int i = 1; i <= n; ++i)
{
f >> v[i];
v[i] += v[i - 1];
if(v[i] - min > Smax)
{
Smax = v[i] - min;
pozi = poz_min + 1;
pozf = i;
}
if(v[i] < min)
{
min = v[i];
poz_min = i;
}
}
g << Smax << " " << pozi << " " << pozf;
f.close();
g.close();
return 0;
}