Pagini recente » Cod sursa (job #278754) | Cod sursa (job #2557228) | Cod sursa (job #2487077) | Cod sursa (job #316376) | Cod sursa (job #439952)
Cod sursa(job #439952)
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
typedef struct mar {
int h;
int g;
} mar;
int n,h,u;
mar a[100],v[100];
void afisare() {
int i;
printf("%d ",n);
printf("%d ",h);
printf("%d\n",u);
for(i=0;i<n;i++)
printf("%d %d\n", v[i].h,v[i].g );
printf("\n");
}
void citire() {
int i;
FILE *f=fopen("gutui.txt","r");
fscanf(f , "%d%d%d" , &n , &h , &u);
for(i=0;i<n;i++)
fscanf( f, "%d%d" , &a[i].h , &a[i].g );
fclose(f);
}
int compare (const void *a , const void *b) {
return -( (*(mar*)a).g - (*(mar*)b).g );
}
int gutui() {
//lung/pas+1
int i,j,x=0;
qsort(a,n,sizeof(mar),compare);
v[0]=a[0];
for(i=1;i<n;i++)
for(j=0;j<(n/i);j++)
if( a[i].h < h && !v[j].g )
{
x+=a[i].g;
v[j]=a[i];
break;
}
return x;
}
int main() {
int x;
citire();
x=gutui();
//afisare();
return 0;
}