Cod sursa(job #58511)
| Utilizator | Data | 6 mai 2007 04:34:07 | |
|---|---|---|---|
| Problema | Secventa 2 | Scor | 70 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.47 kb |
#include<stdio.h>
#define Maxn 100005
int a[Maxn];
long n,i,j,k,ls,ld,p1,p2;
long long s,max;
FILE *f,*g;
int main()
{f=fopen("secv2.in","r");
g=fopen("secv2.out","w");
fscanf(f,"%ld %ld",&n,&k);
for(i=1;i<=n;i++)
{fscanf(f,"%d",&a[i]);s+=a[i];}
ls=1;ld=n;
max=s;p1=1;p2=n;
while(ld-ls>=k)
{if(a[ls]+a[ls+1]<a[ld]+a[ld-1])
{s-=a[ls];ls++;}
else {s-=a[ld];ld--;}
if(s>max)
{max=s;p1=ls;p2=ld;}}
fprintf(g,"%ld %ld %lld",p1,p2,max);
fclose(f);
fclose(g);
return 0;}