Mai intai trebuie sa te autentifici.
Cod sursa(job #343069)
Utilizator | Data | 24 august 2009 21:10:09 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include<fstream>
using namespace std;
int abs(int a)
{if(a<0) return -a;
else return a;}
int n,x,a[6000007],s[6000007],tot,min1,max1,poz1,poz2,inc;
int main()
{ifstream in("ssm.in");
ofstream out("ssm.out");
in>>n;
for(int i=1;i<=n;i++) in>>a[i];
s[0]=0;
for(int i=1;i<=n;i++) {s[i]=s[i-1]+a[i];}
min1=0;poz1=0;
max1=-2147483647;
poz1=0;
for(int i=1;i<=n;i++)
{if(max1<s[i]-min1) {max1=s[i]-min1;inc=poz1+1;poz2=i;}
if(min1>s[i]) {min1=s[i];poz1=i;}
}
out<<max1<<" "<<inc<<" "<<poz2;
return 0;}