Cod sursa(job #166033)

Utilizator andumMorie Daniel Alexandru andum Data 27 martie 2008 12:44:59
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
# include <stdio.h>

FILE *f,*g;

long n,k,i,v[50000],s,S[50000],p1,p2;

int main()
{

 f=fopen("secv2.in","r");
 g=fopen("secv2.out","w");

 fscanf(f,"%ld %ld", &n, &k);
 s=0;
 S[0]=-1800000000;
 for (i=1;i<=n;i++)
	{
	 fscanf(f,"%ld ", &v[i]);
	 s+=v[i];
	 S[i]=s;
	 if (S[i]>=S[p2])
		p2=i;
	}
 fclose(f);
 if (n==k)
	fprintf(g,"1 %ld %ld", n, s);
  else
 {
 s=0;
 for (i=p2;i>=1;i--)
	{
	 s+=v[i];
	 S[i]=s;
	 if (i!=p2 && S[i]>=S[p1])
		p1=i;
	}
 for (i=1;i<=p1-1;i++)
	s-=v[i];
 fprintf(g,"%ld %ld %ld", p1, p2, s);
 }
 fclose(g);
 return 0;
}