Cod sursa(job #2680394)

Utilizator Florian11232Florian Susai Florian11232 Data 3 decembrie 2020 13:47:52
Problema Subsecventa de suma maxima Scor 85
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>
#define dim  6000001
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int org[dim],copys[dim];
int main()
{
    int n,i,j;
    in>>n;
    for(i=0;i<n;i++)
    {
        in>>org[i];
        //if(maxi<org[i])
            //maxi=org[i];
    }
    int maxi=org[0],save,finish;
    for(j=0;j<n;j++)
    {
        if(copys[j-1]+org[j]>=org[j])
             copys[j]=copys[j-1]+org[j];
        else 
            {copys[j]=org[j];
            save=j+1;}
        //cout<<copys[j]<<" ";
        if(maxi<=copys[j])
            {maxi=copys[j];
             finish=j+1;}
       
    }
    out<<maxi<<" "<<save<<" "<<finish<<endl;
    return 0;
}