Mai intai trebuie sa te autentifici.

Cod sursa(job #2387740)

Utilizator AricolSurdu Adrian Aricol Data 25 martie 2019 10:20:14
Problema Subsecventa de suma maxima Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.86 kb
#include <bits/stdc++.h>

using namespace std;

vector <int> v;
vector <int> maxi;
vector <pair<int,int>> poz;

int main()
{
    ifstream fin("ssm.in");
    ofstream fout("ssm.out");
    uint64_t n,x,i;
    fin>>n;
    for (i=0;i<n;i++) {
        fin>>x;
        v.push_back(x);
    }

    uint64_t k,sum,a,aa;
    for (i=0;i<v.size();i++) {
        sum=0;
        a=0;
        for (k=i;k<v.size();k++) {
            sum+=v[k];
            if(sum>a) {
                a=sum;
                aa=k;
            }
        }
        maxi.push_back(a);
        poz.push_back(make_pair(i,aa));
    }
    a=*max_element(maxi.begin(),maxi.end());
    vector <int>::iterator it = find(maxi.begin(),maxi.end(),a);
    uint64_t asd=distance(maxi.begin(),it);
    fout<<a<<" "<<poz[asd].first+1<<" "<<poz[asd].second+1;
    fin.close();
    fout.close();
}