Cod sursa(job #3198445)

Utilizator vlad231Gheorghica Istrate David vlad231 Data 29 ianuarie 2024 12:23:08
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
vector<int> v;
int n,x,S[1001],poz;
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];
        }
     //   cout<<S[i-1]<<" "<<v[i]<<'\n';
    }

    int max=INT_MIN;
    for(int i=0;i<n;i++){
    if(max<S[i])
        max=S[i];
    poz=i;
    }
    int sum=0,pozs=poz;
    fout<<max<<" ";
    while(max!=0){
        max-=v[poz-1];
        poz--;

    }
    fout<<poz+1<<" "<<pozs;
    return 0;
}
/*
 *
 */