Cod sursa(job #2472221)
Utilizator | Data | 12 octombrie 2019 10:34:32 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("ssm.in"); ofstream g("ssm.out");
int s=0,l=0,n;
int main()
{ f>>n;
int smax=-int(2e9),st=0,dr=0;
for(int i=1;i<=n;i++)
{ int nr; f>>nr;
if(s+nr>=nr) s+=nr;
else
{ s=nr; l=i; }
if(s>smax)
{ smax=s; st=l; dr=i; }
else if(s>=smax && l<st)
{ st=l; dr=i; }
}
g<<smax<<" "<<st<<" "<<dr;
return 0;
}