Cod sursa(job #36197)
| Utilizator | Data | 23 martie 2007 10:16:30 | |
|---|---|---|---|
| Problema | Secventa 2 | Scor | 50 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.56 kb |
#include<stdio.h>
#include<stdlib.h>
int nr[50001];
int main(){
FILE*in=fopen("secv2.in","r");
FILE*out=fopen("secv2.out","w");
int n,k,i,p1,p2,max,s=0,pf;
fscanf(in,"%d %d",&n,&k);
for(i=0;i<n;i++)
fscanf(in,"%d",&nr[i]);
for(i=0;i<k;i++)
s=s+nr[i];
if(n==k){
fprintf(out,"1 %d %d",k,s);
return 0;
}
p1=0;
p2=0;
s=0;
max=-30000;
for(i=0;i<n;i++){
if(s<0){
s=0;
p1=i+1;
p2=i;
}
s=s+nr[i];
p2++;
if(s>max){
max=s;
pf=p2;
}
}
fprintf(out,"%d %d %d\n",p1,pf,max);
return 0;
}
