Pagini recente » Cod sursa (job #504588) | Cod sursa (job #3281102) | Cod sursa (job #660363) | Cod sursa (job #2657049) | Cod sursa (job #2614992)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
const char inputFile[] = "ssm.in";
const char outputFile[] = "ssm.out";
int main(void)
{
ifstream in(inputFile);
unsigned N, st, dr;
in >> N;
vector<int> v(N);
int smax, cmax;
smax = -0x3f3f3f3f;
cmax = 0;
for(unsigned i = 0; i < N; ++i)
{
in >> v[i];
if(cmax + v[i] > 0)
cmax = cmax + v[i];
else{
st = i + 1;
cmax = 0;
}
if(cmax > smax && cmax)
{
smax = cmax;
dr = i;
continue;
}
if(v[i] > smax)
{
smax = v[i];
st = dr = i;
}
}
if(st == N)
st = dr;
ofstream out(outputFile);
out << smax << ' ' << st + 1 << ' ' << dr + 1;
return 0;
}