Pagini recente » Cod sursa (job #3313592) | Cod sursa (job #1720754) | Cod sursa (job #202449) | Cod sursa (job #1479150) | Cod sursa (job #3344884)
#include <fstream>
#include <climits>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int v[6000001],st,dr,i,j,n,stCurent;
long long s, maxim;
int main()
{
fin>>n;
for(i=1;i<=n;i++)
fin>>v[i];
s = v[1];
stCurent = 1;
maxim = s;
st = 1;
dr = 1;
for (i=2;i<=n;i++) {
if (s + v[i] > v[i])
s = s + v[i];
else {
s = v[i];
stCurent = i;
}
if (s > maxim || (s == maxim && (stCurent < st || (stCurent == st && i - stCurent < dr - st)) ) ) {
maxim = s;
dr = i;
st = stCurent;
}
}
fout<<maxim<<" "<<st<<" "<<dr;
return 0;
}