Pagini recente » Cod sursa (job #2043599) | Cod sursa (job #625888) | Cod sursa (job #2510325) | Cod sursa (job #3196286) | Cod sursa (job #1871778)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int n;//<= 6 milioane
//int arr[1001] = {};
int idx = 1, beg = 1, fin = n;//Pozitia secventei cautate
void Citire()
{
f>>n;
}
void SSM()
{
int X;
int sum = 0;//Suma numerelor fara resetare
int max1 = -int(2e9);
for(int i = 1; i <= n; i++)
{
f>>X;
if(sum >= 0)
{
//Numerele pana acum prezinta o secventa si putem continua
sum += X;
}
else
{
//Anulam secventa anterioara si o luam de la inceput
sum = X;
idx = i;
}
if(sum > max1)
{
max1 = sum;
beg = idx;
fin = i;
}
}
g<<max1<<" "<<beg<<" "<<fin;
/*
cout<<"Suma este: "<<max1<<endl;
cout<<"Indicii sunt: "<<beg<<" "<<fin;*/
}
int main()
{
Citire();
SSM();
}