Cod sursa(job #811927)

Utilizator vladvaldezVlad Dimulescu vladvaldez Data 13 noiembrie 2012 10:18:53
Problema Subsecventa de suma maxima Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <stdio.h>

using namespace std;
FILE *f=fopen("ssm.in","r");
FILE *g=fopen("ssm.out","w");

int s[6000300],max,o,p,n,i,j,x;
int main()
{

  fscanf(f,"%d",&n);

  for(i=1;i<=n;i++)
{fscanf(f,"%d",&x);

 s[i]=s[i-1]+x;
}


 max=0;
  for(i=1;i<=n-1;i++)
  for(j=i+1;j<=n;j++)
{ if (s[j]>s[i])
  if (s[j]-s[i]>max) {max=s[j]-s[i];o=i+1;p=j;}
  if (s[j]-s[i]==max && j-i-1<p-o){max=s[j]-s[i];o=i+1;p=j;}
}
fprintf(g,"%d% d %d",max,o,p);
fclose(g);
return 0;
}