Pagini recente » Cod sursa (job #1328257) | Cod sursa (job #138253) | Cod sursa (job #2395699) | Cod sursa (job #750388) | Cod sursa (job #1389385)
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
struct secv
{
int s, in, sf;
};
int n, v[6000005];
secv maxEndingHere, maxSoFar;
int main()
{
int i;
maxSoFar.s = INT_MIN;
fin >> n;
for (i=1;i<=n;i++)
fin >> v[i];
for (i=1;i<=n;i++)
{
if (maxEndingHere.s + v[i] > v[i])
{
maxEndingHere.s+=v[i];
maxEndingHere.sf++;
}
else
{
maxEndingHere.s = v[i];
maxEndingHere.in = maxEndingHere.sf = i;
}
if (maxEndingHere.s > maxSoFar.s)
maxSoFar = maxEndingHere;
}
fout << maxSoFar.s << ' ' << maxSoFar.in << ' ' << maxSoFar.sf << '\n';
return 0;
}