Cod sursa(job #2085473)

Utilizator hhhhhhhAndrei Boaca hhhhhhh Data 10 decembrie 2017 11:30:03
Problema Subsecventa de suma maxima Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 1.78 kb
#include <iostream>
#include <iomanip>
#include <cmath>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
double EPS=0.0f;
/*struct produse
{
    int pret;
    int calorii;
    double raport;
};
produse v[100001],aux;*/
int v[6000001];
int n,x,i,s,maxim,incep,sfarsit;
bool ok=1;
int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>x;
        v[i]=v[i-1]+x;
    }
    for(i=1;i<=n-1;i++)
        for(int j=i+1;j<=n;j++)
            if(v[j]-v[i-1]>maxim)
            {
                maxim=v[j]-v[i-1];
                incep=i;
                sfarsit=j;
            }
    fout<<maxim<<" "<<incep<<" "<<sfarsit;
    /*fin>>n;
    for(i=1;i<=n;i++)
        {
            fin>>v[i].calorii;
            fin>>v[i].pret;
            v[i].raport=v[i].calorii/v[i].pret;
        }
    fin>>s;
    do
    {
        ok=0;
        for(i=1;i<=n-1;i++)
            if(v[i].raport<v[i+1].raport)
            {
                aux=v[i];
                v[i]=v[i+1];
                v[i+1]=aux;
                ok=1;
            }
    }while(ok==1);
    for(i=1;i<=n;i++)
        fout<<v[i].raport<<" ";
    /*double x=0.1f,a,b;
    cin>>a>>b;
    if(a-b>EPS)
        cout<<"mare";
    else if(a-b<EPS)
        cout<<"mic";
    else
        cout<<"egale";
    /*for(int i=1;i<=9;i++)
        x+=0.1f;
    if(fabs(x-1)<EPS)
        cout<<"egale";
    else
        cout<<"diferite";*/
    //cout<<fixed<<setprecision(20)<<x;
    /*cin>>a>>b>>c;
    if(a+b>c&&b+c>a&&c+a>b)
    {
        if((a==b&&b!=c)||(b==c&&c!=a)||(c==a&&a!=b))
        cout<<"Formeaza triunghi isoscel";
        else
        cout<<"Nu formeaza triunghi isoscel";
    }
    else
        cout<<"Nu formeaza triunghi";*/
    return 0;
}