Cod sursa(job #668037)

Utilizator bianca_adelina96Dascalu Bianca bianca_adelina96 Data 24 ianuarie 2012 10:38:09
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include<fstream>
using namespace std;
int a[6000001];
int main()
{
    int n,i,maxim,ultimul,primul,s,poz;
    ifstream fin("ssm.in");
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>a[i];
    }
    fin.close();
    poz=1;
    primul=ultimul=1;
    maxim=a[1];
    s=a[i];
    if(s<0)
    {
        s=0;
        poz=2;
    }
     
    for(i=2;i<=n;i++)
    {
        s=s+a[i];
        if(s>maxim)
        {
            maxim=s;
            ultimul=i;
            primul=poz;
        }
        if(s<0)
        {
            s=0;
            poz=i+1;
        }
    }
     
     
     
    ofstream fout("ssm.out");
    fout<<maxim<<" "<<primul<<" "<<ultimul<<"\n";
    fout.close();
    return 0;
}