Pagini recente » Cod sursa (job #2590353) | Cod sursa (job #1443618) | Cod sursa (job #2595959) | Cod sursa (job #2353197) | Cod sursa (job #436521)
Cod sursa(job #436521)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main() //n nr gutui, h inaltimea maxima, u inaltime ridicare
{ FILE *f, *g;
long int n;
float h,u;
float hg[100000] ,wg[100000],v[100000];
long int i;
long int j;
//float f1,f2;
float maxh,maxw;
long int contor=0;
float greutate=0;
f=fopen("gutui.in","r");
g=fopen("gutui.out","w");
fscanf(f,"%ld",&n);
fscanf(f,"%f",&h);
fscanf(f,"%f",&u);
for(i=0;i<n;i++)
{fscanf(f,"%f",&hg[i]);
fscanf(f,"%f",&wg[i]);
v[i]=0;}
maxh=0;
maxw=0;
for(i=0;i<n;i++)
{
//printf("\n");
if (maxh>(h-u*i))
maxh=floor(h-u*i);
maxh=0;
maxw=0;
for(j=0;j<n;j++)
{//printf("maxh=%.0f\n",maxh);
if(hg[j]<=h-u*i){
if((floor((h-hg[j])/u)!=floor((h-maxh)/u))&&(hg[j]>maxh)&&(v[j]!=1)) {//printf("maxhh=%.0f",maxh);
maxh=hg[j];
maxw=wg[j];
contor=j;
}
else
if((floor((h-hg[j])/u)==floor((h-maxh)/u))&&(wg[j]>maxw)&&(v[j]!=1)) {maxh=hg[j];
maxw=wg[j];
contor=j;
}
}
}
//if(mem==maxh) break;
v[contor]=1;
greutate=greutate+maxw;
//printf("gre=%.0f\n",greutate);
}
fprintf(g,"%.0f",greutate);
fclose(f);
fclose(g);
return 0;
}