Cod sursa(job #2671211)

Utilizator martinmiere133Cranga Antonio martinmiere133 Data 11 noiembrie 2020 18:33:50
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.95 kb
#include <iostream>
#include <math.h>
#include <vector>
#include <queue>
#include <stack>
#include <list>
#include <iomanip>
#include <stdlib.h>
#include <fstream>
#include <algorithm>
#include <string>
#include <set>
#include <cstring>
#include <map>
#define INF 1e9
#define NMAX 100001
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int main()
{
    int suma_max = -int(2e9);
    int suma_curenta = 0 ;
    int pozi  , pozf;
    int n;
    f>>n;
    vector<int> v;
    for(int i=1;i<=n;i++)
    {
        int x;
        f>>x;
        v.push_back(x);
    }
    int index;
    for(int i=0;i<n;i++)
    {
        if(suma_curenta < 0)
        {
            suma_curenta = v[i];
            index = i;
        }
        else suma_curenta+=v[i];
        
        if(suma_max < suma_curenta)
        {
            suma_max = suma_curenta;
            pozi = index;
            pozf = i;
        }
    }
    g<<suma_max<<" "<<pozi+1<<" "<<pozf+1;
    return 0;
}