Pagini recente » Rating Stoicanescu Gelu (stoicanescu.gelu) | Cod sursa (job #2653482) | Cod sursa (job #2372778) | Cod sursa (job #1185530) | Cod sursa (job #1646851)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int n, ar[6000000], s[6000000], t[6000000];
const int inf = -999999999;
int main()
{
int i, j;
s[0] = inf;
f >> n;
for(i = 1; i <= n; i++)
{
f >> ar[i];
s[i] = max(ar[i] + s[i-1], ar[i]);
if(ar[i] + s[i-1] > ar[i])
t[i] = t[i-1] + 1;
else
t[i] = 1;
}
int p = 0;
for(i = 1; i <= n; i++)
if(s[i] > s[p])
p = i;
cout << s[p] << " ";
for(i = p; t[i] != 1; i--);
cout << i << " " << p;
return 0;
}