Cod sursa(job #2407684)

Utilizator DavidAA007Apostol David DavidAA007 Data 17 aprilie 2019 09:56:47
Problema Subsecventa de suma maxima Scor 35
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.43 kb
#include<fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n,i,j,v[6000005],s,smax,pozi,pozj;
///int x,s[6000005],smax,maxx,minn,pozmax,pozmin,pozmax2;
int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>v[i];
    for(i=1;i<=n;i++)
    {
        s=0;
        for(j=i;j<=n;j++)
        {
            s=s+v[j];
            if(s>smax)
            {
                smax=s;
                pozi=i;
                pozj=j;
            }
        }
    }
    fout<<smax<<" "<<pozi<<" "<<pozj;
    ///Solutie 60 de puncte
    /*fin>>n;
    minn=2147483646;
    pozmin=0;
    maxx=-2147483646;
    for(i=1;i<=n;i++)
    {
        fin>>x;
        s[i]=s[i-1]+x;
        if(s[i]-minn>maxx)
        {
            maxx=s[i]-minn;
            pozmax=i;
            pozmax2=pozmin;
        }
        if(s[i]<minn)
        {
            minn=s[i];
            pozmin=i;
        }
    }
    fout<<maxx<<" "<<pozmax2+1<<" "<<pozmax;*/
    ///Solutie 90 de puncte
    /*fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>x;
        s[i]=s[i-1]+x;
        if(s[i]>maxx)
        {
            maxx=s[i];
            pozmax=i;
        }
    }
    for(j=1;j<=pozmax;j++)
        if(s[j]<minn)
        {
            minn=s[j];
            pozmin=j;
        }
    smax=maxx-minn;
    fout<<smax<<" "<<pozmin+1<<" "<<pozmax;*/
    fin.close();
    fout.close();
    return 0;
}