Pagini recente » Cod sursa (job #1466255) | Cod sursa (job #769105) | Cod sursa (job #817710) | Cod sursa (job #1910305) | Cod sursa (job #2721416)
#include <fstream>
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int main()
{
int n;
cin>>n;
long long v[n+1]={},s[n+1]={},m[n+1]={},pm[n+1]={};
//v[i]-sirul; s[i]-suma v[1]+..v[i];m[i]-minim s[1] pana la s[i];
for(int i=1;i<=n;i++)
{
cin>>v[i];
}
for(int i=1;i<=n;i++)
{
s[i]=s[i-1]+v[i];
}
for(int i=1;i<=n;i++)
{
m[i]=min(m[i-1],s[i]);
if(m[i-1]<=s[i])
pm[i]=pm[i-1];
else
pm[i]=i;
}
long long rezultat=v[1],st=1,dr=1;
for(int i=1;i<=n;i++)
{
if(rezultat<s[i]-m[i-1])
{
rezultat=s[i]-m[i-1];
st=pm[i-1]+1;
dr=i;
}
}
cout<<rezultat<<" ";
cout<<st<<" "<<dr;
return 0;
}