Cod sursa(job #3211961)

Utilizator Tudor.1234Holota Tudor Matei Tudor.1234 Data 10 martie 2024 20:28:17
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.08 kb
#include "bits/stdc++.h"
inline static void kadane(std::vector< int> v, int &st,  int &dr,  int &max_initial){
            ///int max_initial = INT_MIN;
            int max_sum =  0;
            int s = 0;
            for(int i = 0; i < v.size(); i++){
                 max_sum = max_sum + v[i];
                 if(max_initial < max_sum){
                      max_initial = max_sum;
                    st = s;
                    dr = i;
                 }
                 if(max_sum < 0){
                     max_sum = 0;
                     s = i + 1;
                 }
            }

}
inline static void citire(){
std::vector< int>v;
      int n;
     std::cin >> n;
     for(int i = 0; i < n; i++){
          int x;
          std::cin >> x;
        v.push_back(x);
     }
      int st,dr;
      int maxx = 0;
     kadane(v,st,dr,maxx);
     std::cout <<  maxx  << " "<< st+1 << " " << dr+1;
}
signed main(){
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    std::ios_base::sync_with_stdio(false);
    std::cin.tie(0);
    std::cout.tie(0);
    citire();
   return 0;
}