Cod sursa(job #278071)

Utilizator alexandru92alexandru alexandru92 Data 12 martie 2009 08:55:53
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<stdio.h>
#include<stdlib.h>
#include<limits.h>
int n,x,Sum,SMax,SumnMax=INT_MIN,st,poz,npoz,Lg;
int main()
  {int i;
   freopen("ssm.in","rt",stdin);
   freopen("ssm.out","wt",stdout);
   scanf("%d",&n);
   scanf("%d",&x); Sum=SMax=x; Lg=1;
   for(i=1;i<n;++i)
      {scanf("%d",&x);
       if(Sum<0)
         {Sum=x;
          st=i;
          if(SumnMax<Sum) SumnMax=Sum,npoz=i;
         }
         else {Sum+=x;
               if(Sum>SMax) {SMax=Sum; poz=st; Lg=i-st+1;}
              }
      }
   if(SumnMax>SMax) printf("%d %d %d",SumnMax,npoz,npoz);
     else printf("%d %d %d",SMax,poz+1,poz+Lg);
   return 0;
  }