Cod sursa(job #36144)

Utilizator swift90Ionut Bogdanescu swift90 Data 23 martie 2007 00:24:17
Problema Secventa 2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include<stdio.h>
#include<stdlib.h>
int nr[50001];
int main(){
	FILE*in=fopen("secv.in","r");
	FILE*out=fopen("secv.out","w");
	int n,k,i,p1,p2,ul,s=0;
	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=k-1;
	ul=0;
	for(i=k;i<n;i++){
		if(nr[i]>=0){
			if(nr[ul]>0){
				s=s+nr[i];
				p2++;
			}
			else{
				if(nr[i]<=abs(nr[ul])){
					s=s+nr[i]-nr[ul];
					p1++;
					p2++;
					ul++;
				}
				else{
					s=s+nr[i];
					p2++;
				}
			}
		}
		else{
			if(nr[ul]>0){
				if(nr[ul]>=abs(nr[i])){
					s=s+nr[i];
					p2++;
				}
			}
			else{
				if(nr[ul]>=abs(nr[i])){
					s=s+nr[i]-nr[ul];
					p1++;
					p2++;
					ul++;
				}
			}
		}
	}
	
	fprintf(out,"%d %d %d\n",p1,p2,s);
	
	
	
	return 0;
}