Cod sursa(job #2001940)

Utilizator Cyg_PEduardPetcu Eduard Cyg_PEduard Data 18 iulie 2017 10:16:42
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>

using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
const int NMAX=6000000;
int v[NMAX+5];
int main()
{
    int n,i,sc,smax,isc,ismax,sfmax;
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>v[i];
    sc=smax=v[1];
    ismax=sfmax=isc=1;
    for(i=2;i<=n;i++)
        {if(sc+v[i]<v[i])
         {
           sc=v[i];
           isc=i;
         }
        else
            sc=sc+v[i];
         if(sc>smax)
            {smax=sc;
            ismax=isc;
            sfmax=i;
            }
        }
    fout<<smax<<" "<<ismax<<" "<<sfmax<<"\n";
    fin.close();
    fout.close();
    return 0;
}