Cod sursa(job #2905744)

Utilizator zsoltzsoltDirirczi Zsolt zsoltzsolt Data 23 mai 2022 15:44:45
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.93 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;
   int start_c = 0;
   int end_c = 0;
   int maxim_curent = a;
 
   for (int i = 1; i < size; i++)
   {
       f >> a;
       
       if(a > maxim_curent+a){
        maxim_curent = a;
        start_c = i;
        end_c = i;
       }
       else{
           maxim_curent = maxim_curent+a;
           end_c = i;
       }
       
       if(maxim < maxim_curent){
           maxim = maxim_curent;
           start = start_c;
           end = end_c;
       }
   }
   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;
}