Cod sursa(job #1404423)

Utilizator stefzahZaharia Stefan Tudor stefzah Data 28 martie 2015 10:27:47
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <cstdio>
using namespace std;
int x,s,smin[6000001],mx,poz[6000001],n,i,a,q2,q1;
int main()
{freopen("ssm.in","r",stdin);
 freopen("ssm.out","w",stdout);
 scanf("%d",&n);
 for(i=1;i<=n;i++)
    {scanf("%d",&x);
     if(i==1) {smin[i]=x;poz[i]=i;mx=x;}
     if(i>1){if(smin[i-1]>s+x){smin[i]=s+x;poz[i]=i;}
       else {smin[i]=smin[i-1];poz[i]=poz[i-1];}
            }
    s=s+x;
    if(s-smin[i-1]>mx){mx=s-smin[i-1];q2=i;q1=poz[i-1];}
    }
 printf("%d %d %d",mx,q1+1,q2);
}