Pagini recente » Cod sursa (job #2452894) | Cod sursa (job #2596902) | Cod sursa (job #2494642) | Cod sursa (job #2164072) | Cod sursa (job #1770251)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int s[6000001];
int bst[6000001];
int l[6000001];
int main()
{
int n,i,max,min=999999999,c;
fin>>n;
for(i=1;i<=n;i++)
fin>>s[i];
bst[1]=s[1];
l[1]=1;
max=-999999999;
for(i=2;i<=n;i++)
{
if(bst[i-1]+s[i]>=s[i])
{
bst[i]=bst[i-1]+s[i];
l[i]=l[i-1];
}
else
{
bst[i]=s[i];
l[i]=i;
}
if(bst[i]>max)
max=bst[i];
}
fout<<max<<" ";
for(i=1;i<=n;i++)
{
if(bst[i]==max)
{
if(l[i]<min)
{
min=l[i];
c=i-l[i];
}
else
if(l[i]==min)
{
if(i-l[i]<c)
c=i-l[i];
}
}
}
for(i=1;i<=n;i++)
{
if(i-l[i]==c)
fout<<l[i]<<" "<<i;
}
return 0;
}