Cod sursa(job #2407806)

Utilizator DavidAA007Apostol David DavidAA007 Data 17 aprilie 2019 11:40:38
Problema Suma si numarul divizorilor Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.68 kb
#include<fstream>
#include<iostream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n,i,j;
///int v[6000005],s,smax,pozi,pozj;
int x,s[6000005],smax,maxx,minn,pozmax,pozmin;
int pozmax2;
int main()
{
    ///Solutie de 40 de puncte
    /*fin>>n;
    for(i=1;i<=n;i++)
        fin>>v[i];
    smax=-2147483646;
    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 de 100 de puncte
    fin>>n;
    ///minn=2147483646;
    pozmin=0;
    minn=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 de 90 de puncte
    /*maxx=-2147483646;
    minn=2147483646;
    pozmax=0;
    pozmin=0;
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>x;
        s[i]=s[i-1]+x;
        ///cout<<s[i]<<" ";
        if(s[i]>maxx)
        {
            maxx=s[i];
            pozmax=i;
        }
    }
    ///cout<<maxx<<" ";
    for(j=0;j<pozmax;j++)
        if(s[j]<minn)
        {
            minn=s[j];
            pozmin=j;
        }
    ///cout<<minn;
    smax=maxx-minn;
    fout<<smax<<" "<<pozmin+1<<" "<<pozmax;*/
    fin.close();
    fout.close();
    return 0;
}