Cod sursa(job #2909552)

Utilizator zsoltzsoltDirirczi Zsolt zsoltzsolt Data 14 iunie 2022 07:42:36
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include<iostream>
#include<stdint.h>
#include<fstream>
 
using namespace std;
 
ifstream f("ssm.in");
ofstream g("ssm.out");
 
int maxSub(int size, int &start, int &end)
{
    int a;
    
    f >> a;
    
    int maxim = a, start_c = 0, maxim_curent = a;
 
   for (int i = 1; i < size; i++)
   {
       f >> a;
       
       if(a > maxim_curent+a){
           maxim_curent = a;
           start_c = i;
       }
       
       else
           maxim_curent = maxim_curent+a;
 
       
       if(maxim < maxim_curent){
           maxim = maxim_curent;
           start = start_c;
           end = i;
       }
   }
    return maxim;
}

int main()
{
    int n = 0;
   
    f >> n;
   
    int start = 0;
    int end = 0;
   
    int max_sum = maxSub(n, start, end);
   
    g << max_sum << ' ' << start+1 << ' ' << end+1;
    return 0;
}