Cod sursa(job #2569916)
Utilizator | Data | 4 martie 2020 14:16:18 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
long long best[6000005],x,n,Min,pmin,l,r,s,ans;
int main()
{
in>>n;
Min=0;
ans=-1e9;
for(int i=1;i<=n;i++)
{
in>>x;
s+=x;
best[i]=s-Min;
if(best[i]>ans)
{
ans=best[i];
l=pmin+1;
r=i;
}
if(s<Min)
{
Min=s;
pmin=i;
}
}
out<<ans<<" "<<l<<" "<<r;
return 0;
}