Cod sursa(job #1640249)

Utilizator radudurlesteanuDurlesteanu Radu Stefan radudurlesteanu Data 8 martie 2016 16:39:40
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <cstdio>
using namespace std;
int a[6000001],n,i,s,smax,u,p,pr,ul;
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&n);
for (i=0;i<n;i++) scanf("%d",&a[i]);
s=smax=a[0];p=u=0;
for (i=1;i<n;++i)
   {
   if (s>=0) s+=a[i];
       else {
             s=a[i];
             pr=i;
            }
   if (smax<s) {
                smax=s;
                p=pr;
                u=i;
               }
   else
   if (s==smax && u-p>i-pr) {
                            u=i;
                            p=pr;
                            }
   }
printf("%d %d %d",smax,p+1,u+1);
}