Cod sursa(job #568451)

Utilizator gabriel93Robu Gabriel gabriel93 Data 31 martie 2011 11:07:29
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
//Secventa de suma maxima dintr-un vector...
#include<fstream> 
using namespace std;
fstream f1,f2;
int a[6000001],b[60000001],n,i,poz,smax,p1,p2;
int main()
{
f1.open("ssm.in",ios::in);
f2.open("ssm.out",ios::out);
f1>>n;
for(i=1;i<=n;i++)
	f1>>a[i];
b[0]=0;
poz=0;
smax=-1000000;
for(i=1;i<=n;i++)
{
	b[i]=b[i-1]+a[i];
	if(b[i]-b[poz]>smax)
	{
		smax=b[i]-b[poz];
		p1=poz+1;
		p2=i;
	}
	if(b[i]<b[poz])
		poz=i;
}
f2<<smax<<" "<<p1<<" "<<p2;
f1.close();
f2.close();
return 0;
}