Cod sursa(job #2929037)
Utilizator | Tudor Buhnia tudorbuhnia | Data | 24 octombrie 2022 14:47:08 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.63 kb |
#include <fstream>
using namespace std;
int v[6000005];
int s[6000005];
int main()
{
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int n,mx=0,mi,st=0,sr=1,dr=1;
cin >> n;
for(int i=1;i<=n;i++)
{
cin >> v[i];
}
mi=v[1];
mx=v[1];
s[1]=v[1];
for(int i=2;i<=n;i++)
{
s[i]=s[i-1]+v[i];
if(s[i-1]<mi)
{
mi=s[i-1];
st=i-1;
}
if(s[i]-mi>mx)
{
mx=s[i]-mi;
sr=st;
dr=i;
}
}
cout << mx << " " << sr+1 << " " << dr;
return 0;
}