Pagini recente » Cod sursa (job #3231922) | Cod sursa (job #1406854) | Borderou de evaluare (job #2285103) | Cod sursa (job #2441525) | Cod sursa (job #568451)
Cod sursa(job #568451)
//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;
}