Cod sursa(job #2477631)

Utilizator XXMihaiXX969Gherghinescu Mihai Andrei XXMihaiXX969 Data 20 octombrie 2019 20:15:37
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <iostream>
#include <algorithm>
#include <fstream>

using namespace std;

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

int v[7000005];

int main()
{
    ios::sync_with_stdio(false);
    in.tie(0);
    long long  N;
    in >> N;
    for(long long i = 1;i <= N;i++)
     in >> v[i];
   int sum = 0;
   int rez = -2e9;
   int r = 1;
   int l = 1;
   int i = 1;
   int j = 1;
   while(  j <= N )
   {
       if(sum + v[j] >= v[j])
       {
        sum+=v[j];
       if(sum > rez)
        {rez = sum;
        l = i+1;
        r = j;
        }
       }
       if(sum < 0)
       {sum = 0;
        i = j;
        j = i;
       }
       j++;
   }
   out << rez << " " << l << " " <<r;
    return 0;
}