Cod sursa(job #2236331)

Utilizator sidorencuoanaSidorencu Oana Alexandra sidorencuoana Data 29 august 2018 10:26:02
Problema Subsecventa de suma maxima Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.88 kb
#include <iostream>
#include <fstream>
#define MAX 6000000

using namespace std;

ifstream f ("ssm.in");
ofstream g("ssm.out");

int N,s[MAX],v[MAX];

int Suma (int i,int j,int N, int v[MAX],int suma,int max)
{
    if(j>N)
    return max;
    else
    {
        suma=suma+v[j];
        if(suma>max)
        max=suma;
        return Suma(i,j+1,N,v,suma,max);
    }
}

void Aflare(int N,int v[MAX])
{
    int i,max,suma,max2,pi=0;
    max2=v[i];
    for(i=1;i<=N;i++)
    {
      max=v[i];
      suma=v[i];
      s[i]=Suma(i,i+1,N,v,suma,max);
      if(s[i]>max2)
      {
          max2=s[i];
          pi=i;
      }
    }
    g<<max2<<" "<<pi<<" ";
    suma=v[pi];
    while(suma<max2)
    {
        pi++;
        suma+=v[pi];
    }
    g<<pi;


}



int main()
{int i;
f>>N;
for(i=1;i<=N;i++)
f>>v[i];
Aflare(N,v);

    return 0;
}