Cod sursa(job #425726)

Utilizator TzutzStefan Tzutz Data 25 martie 2010 23:49:40
Problema Gutui Scor 90
Compilator c Status done
Runda teme_upb Marime 0.77 kb
#include<stdio.h>
#include<stdlib.h>



int main(){
	long a,b,N,H,U,lvl,i,s[100000],sum,j,lvlm,b11,a1,b1;;
	int ok;
	FILE *f=fopen("gutui.in","r");
	FILE *g=fopen("gutui.out","w");
	fscanf(f,"%ld %ld %ld",&N,&H,&U);
	lvl=H/U+1;
	//s=(long *) malloc (lvl*sizeof(long));
	//for(i=0;i<lvl;i++)
	//	s[i]=0;
	for(i=0;i<N;i++){
	
		fscanf(f,"%ld %ld",&a,&b);
		lvlm=(H-a)/U;
		a1=lvlm;
		b1=b;
		ok=1;		
		while(ok){	ok=0;
				if(s[a1]==0){
					s[a1]=b1;
				}
				else 	{
					j=a1;
					while(j>=0){
						if(s[j]==0){
							s[j]=b1;j=0;
						}
						else {
							if(s[j]<b1) {
								b11=s[j];
								s[j]=b1;
								b1=b11;
								a1=j;
								ok=1;j=0;
							}
						}
						j--;
					}
				}	
			}
		}

	sum=0;
	for(i=0;i<lvl;i++)
		sum=sum+s[i];
	fprintf(g,"%ld",sum);
	return 0;
}