Cod sursa(job #3198499)

Utilizator vlad231Gheorghica Istrate David vlad231 Data 29 ianuarie 2024 17:54:04
Problema Subsecventa de suma maxima Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
vector<int> v;
int n,x,S[7000011],poz,pozs;
int main() {
    fin>>n;
    for(int i=0;i<n;i++){
fin>>x;
v.push_back(x);
    }
    S[0]=v[0];
    for(int i=1;i<n;i++){

        if(S[i-1]+v[i]>=v[i])
            S[i]+=S[i-1]+v[i];
        else{
            S[i]=v[i];
            pozs=i;
        }
    }
    int max=INT_MIN;
    for(int i=0;i<n;i++) {
        if (max < S[i])
            max = S[i];
        poz = i;
    }
    fout<<max<<" ";
        fout<<pozs+1<<" "<<poz+1;
    return 0;
}