Cod sursa(job #2682827)

Utilizator Florian11232Florian Susai Florian11232 Data 9 decembrie 2020 18:27:09
Problema Subsecventa de suma maxima Scor 80
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <iostream>
#include <fstream>

#define dim  6000005
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];
        
    }
    int maxi=org[0],save = 0,finish = 0;
    copys[0] = maxi;
    for(j=1;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;
}