Pagini recente » Cod sursa (job #638641) | Cod sursa (job #2800826) | Cod sursa (job #2679734) | Cod sursa (job #1731342) | Cod sursa (job #3184196)
#include <fstream>
#include <queue>
#include <string>
#include <cstring>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int a[600005],n,dp[600005],Max=-100000,prec[600005];
int main()
{
fin>>n;
for(int i=1;i<=n;i++) fin>>a[i];
dp[1]=a[1];
Max=a[1];
int k=1;
prec[1]=1;
for(int i=2;i<=n;i++)
{
if(dp[i-1]<0) dp[i]=a[i],prec[i]=1;
else dp[i]=dp[i-1]+a[i],prec[i]=prec[i-1]+1;
if(Max<dp[i]) Max=dp[i],k=i;
}
fout<<Max<<" "<<k-prec[k]+1<<" "<<k;
}