Cod sursa(job #2876240)

Utilizator RK13Barbu Eduard RK13 Data 23 martie 2022 10:12:47
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.95 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("ssm.in");
ofstream g("ssm.out");

int n,x,st,dr,smax=INT_MIN,s,solst,soldr;
bool ok=0;
int main()
{f>>n;
for (int i=1;i<=n;i++) {f>>x;
                        if (x>=0) ok=1;
                        s+=x;
                        if (s<0) {if (ok==0) {st=i;
                                              if (x>smax) smax=x,solst=soldr=i;
                                             }
                                      else {st=i+1;
                                            s=0;
                                           }

                                 }
                            else {if (s>smax) {soldr=i;
                                                solst=st;
                                                smax=s;

                                              }

                                 }
                       }
g<<smax<<' '<<solst<<' '<<soldr;
}