Pagini recente » Cod sursa (job #1495664) | Cod sursa (job #1623354) | Monitorul de evaluare | Cod sursa (job #344947) | Cod sursa (job #2968295)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("ssm.in");
ofstream g ("ssm.out");
int s[6000001], sum[6000001], n, suma, smax, imax, s2max, i2max, jmax, x = 0;
int main()
{
f >> n;
for(int i = 1; i <= n; i++)
f >> s[i];
for(int i = 1; i <= n - 1; i++)
{
smax = 0; imax = i; suma = 0;
for(int j = i + 1; j <= n; j++)
{
suma = suma + s[j];
if(suma > smax)
{
jmax = j;
smax = suma;
}
}
sum[++x] = smax;
sum[++x] = imax;
sum[++x] = jmax;
}
smax = 0;
for(int i = 1; i <= x; i = i + 3)
{
if(smax < sum[i])
{
smax = sum[i];
i2max = i;
}
}
imax = sum[i2max + 1] + 1;
jmax = sum[i2max + 2];
g << smax << ' ';
for(int i = imax; i <= jmax; i++)
g << s[i] << ' ';
return 0;
}