Cod sursa(job #343057)

Utilizator Bogdan_CCebere Bogdan Bogdan_C Data 24 august 2009 20:22:33
Problema Subsecventa de suma maxima Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<cstdio>
using namespace std;
int n,x,a[6000007],s[6000007],tot,min1,max1,poz1,poz2;
int main()
{freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);

scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d", &a[i]);
s[0]=0;
for(int i=1;i<=n;i++) {s[i]=s[i-1]+a[i];}
min1=2147483647;
max1=-2147483647;
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<s[i]) {max1=s[i];poz2=i;}
if(poz1<poz2)
    printf("%d %d %d \n",max1-min1,poz1+1,poz2);
else    printf("%d %d %d \n",max1-min1,poz2+1,poz1); 
    
    return 0;}