Pagini recente » Cod sursa (job #2185874) | Cod sursa (job #2071043) | Cod sursa (job #2339964) | Rating Lang Christian-Gabriel (mktbh0624) | Cod sursa (job #2236331)
#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;
}