Cod sursa(job #1639513)

Utilizator bububulmezBulmez Alexandru bububulmez Data 8 martie 2016 12:41:47
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include <iostream>
#include <cstdio>
#include <vector>
using namespace std;

#define pb push_back

int n,s,x,st,fn,maxi=-9999999999;
vector <int> si;



void citire()
{
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        scanf("%d",&x);
        s+=x;
        si.pb(s);
    }
}

void rezolvare()
{
    int mini1=9999999999,st1=0;
    for(int i=0;i<n;i++)
    {
        int mini2=si[i-1];
        if(mini2<mini1)
        {
            mini1=mini2;
            st1=i;
        }
        if(si[i]-mini1>maxi)
        {
            maxi=si[i]-mini1;
            st=st1+1;
            fn=i+1;
        }
    }
}

void afisare()
{
    printf("%d %d %d",maxi,st,fn);
}

int main()
{
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    citire();
   // for(int i=0;i<n;i++)
   //     cout<<si[i]<<" ";
    rezolvare();
    afisare();

    return 0;
}