Cod sursa(job #2768779)

Utilizator sanzianagrecuSanziana Grecu sanzianagrecu Data 12 august 2021 09:51:34
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>

using namespace std;

ifstream fin("ssm.in");
ofstream fout("ssm.out");

int n, a[6000001];

int main(){

   ios::sync_with_stdio(0);
   fin.tie(0);

   fin >> n;
   for(int i = 1; i <= n; ++i)
      fin >> a[i];

   int st, dr, strez, drrez;
   long long sum = 0, maxim = 0;
   for(int i = 1; i <= n; ++i){
      if(a[i] > sum + a[i]){
        st = i, dr = i;
        sum = a[i];
      }
      else{
        dr++;
        sum += a[i];
      }
      if(sum > maxim){
        maxim = sum;
        strez = st;
        drrez = dr;
      }
   }

   fout << maxim << ' ' << strez << ' ' << drrez;

   fin.close();
   fout.close();
   return 0;
}