Pagini recente » Cod sursa (job #446475) | Borderou de evaluare (job #2509354) | Cod sursa (job #994154) | Cod sursa (job #2595693) | Cod sursa (job #3353680)
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int v[6000001];
int sp[6000001];
int main()
{
int n;
fin >> n;
int minim = 0;
int pozMin = 0;
int sumaMax = -2000000000;
int st = 1, dr = 1;
for (int i = 1; i <= n; i++) {
fin >> v[i];
sp[i] = sp[i - 1] + v[i];
int suma = sp[i] - minim;
if (suma > sumaMax) {
sumaMax = suma;
st = pozMin + 1;
dr = i;
}
if (sp[i] < minim) {
minim = sp[i];
pozMin = i;
}
}
fout << sumaMax << ' ' << st << ' ' << dr;
return 0;
}