Pagini recente » Cod sursa (job #2102158) | Cod sursa (job #1728059) | Cod sursa (job #2126166) | Cod sursa (job #1936548) | Cod sursa (job #2792100)
#include <fstream>
using namespace std;
/// a doua metoda, aia mai putin evidenta, care de fapt se bazeaza
/// pe dinamica, dar o simplifica mult, eliminand vectorii aia
/// 2 in plus si astfel intra in memorie
int main()
{
ifstream in("ssm.in");
ofstream out("ssm.out");
int sumaCrt, sumaMax;
int st, dr, stMax, drMax;
int n;
in >> n;
int x;
in >> x;
sumaMax = x;
stMax = 1;
drMax = 1;
sumaCrt = x;
st = 1;
for (int i = 2; i <= n; i++)
{
in >> x;
sumaCrt = sumaCrt + x;
if(sumaCrt > sumaMax)
{
sumaMax = sumaCrt;
stMax = st;
drMax = i;
}
if(sumaCrt < 0)
{
sumaCrt = 0;
st = i+1;
dr = i+1;
}
}
out << sumaMax << ' ' << stMax << ' ' << drMax << '\n';
return 0;
}