Cod sursa(job #695184)
Utilizator | Dedita Vlad Vasile svvlad | Data | 28 februarie 2012 10:59:03 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("ssm.in");
ofstream o("ssm.out");
int a[100],n;
void suma(int i,int j,int &pi,int &pf)
{
int s=0,sm=-10000,ii;
pi=1;
for(;i<=j;i++)
{ if(s<0)
{s=a[i];ii=i;}
else
s=s+a[i];
if(s>sm)
{
pf=i;
pi=ii;
sm=s;
}
}
}
int main()
{int pi,pf,i;
f>>n;
for(i=1;i<=n;i++)
f>>a[i];
suma(1,n,pi,pf);
for(i=pi;i<=pf;i++)
cout<<a[i]<<" ";
}