Pagini recente » Borderou de evaluare (job #1152722) | Borderou de evaluare (job #2696622) | Borderou de evaluare (job #666507) | Cod sursa (job #1421784) | Cod sursa (job #3364158)
#include <iostream>
#include<fstream>
using namespace std;
int main()
{
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int n,v[30000],i,stt=1,dr[30000],st[30000],p;
long long dp[30000],max=-100000000000;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>v[i];
}
if(n==1)
{
cout<<dp[1];
return 0;
}
dp[1]=v[1];
st[1]=1;
dr[1]=1;
for(i=2;i<=n;i++)
{
if(dp[i-1]>0)
{
dp[i]=dp[i-1]+v[i];
st[i]=stt;
dr[i]=i;
}
else
{
dp[i]=v[i];
st[i]=i;
dr[i]=i;
stt=i;
}
}
for(i=1;i<=n;i++)
{
if(dp[i]>max)
{
max=dp[i];
p=i;
}
}
cout<<max<<" "<<st[p]<<" "<<dr[p];
cin.close();
cout.close();
return 0;
}