Cod sursa(job #2776297)
Utilizator | Enal Gemaledin Blaugranas | Data | 19 septembrie 2021 11:17:46 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include<fstream>
using namespace std;
ifstream F("ssm.in");
ofstream G("ssm.out");
const int N=30000000;
int n,i,j,k,s,m=-1000,l,o=-1,b,e,t;
char r[N];
int main()
{
F>>n,F.get(),F.getline(r,N);
for(i=1;i<=n;++i) {
e=0,b=1,++o;
if(r[o]==45)
b=-1,++o;
for(;r[o]>47;++o)
e=e*10+r[o]-48;
t=e*b;
if(s<0)
s=t,l=i;
else
s+=t;
if(m<s)
m=s,j=l,k=i;
}
G<<m<<" "<<j<<" "<<k;
return 0;
}