Cod sursa(job #343063)

Utilizator Bogdan_CCebere Bogdan Bogdan_C Data 24 august 2009 20:45:58
Problema Subsecventa de suma maxima Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 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;
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=s[1];poz1=0;
max1=min1-s[1];
poz1=0;
for(int i=1;i<=n;i++) if(min1>s[i]) {min1=s[i];poz1=i;}
for(int i=1;i<=n;i++) if(max1<abs(min1-s[i])) {max1=abs(min1-s[i]);poz2=i;}
if(poz1<poz2)
    out<<max1<<" "<<poz1+1<<" "<<poz2;
else   out<<max1<<" "<<poz2+1<<" "<<poz1; 
    
    return 0;}