Pagini recente » Profil carmen | Istoria paginii runda/oji2012blabla/clasament | Istoria paginii runda/aaaaaaaaa | 11_oji1 | Cod sursa (job #434888)
Cod sursa(job #434888)
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
//#include<conio.h>
int compare(const void *a, const void *b)
{
if(*(int*)a>=*(int*)b)
return -1;
else
return 1;
}
typedef struct{
int h,g;
}gutui;
int main()
{
FILE *f;
gutui a[10000];
int n,h,u;
f=fopen("gutui.in","r");
if(f!=NULL)
{
fscanf(f,"%i %i %i",&n,&h,&u);
for(int i=0;i<n;i++)
fscanf(f,"%i %i",&a[i].h,&a[i].g);
fclose(f);
}
printf("\nU este:%i",u);
printf("\nMatricea initiala este:");
for(int i=0;i<n;i++)
{
printf("\n");
printf("%i %i",a[i].h,a[i].g);
}
qsort(a,n,sizeof(gutui),compare);
printf("\nColectia sortata:");
for(int i=0;i<n;i++)
{
printf("\n");
printf("%i %i",a[i].h,a[i].g);
}
int max=0,h_curenta=0;
int marcaje[10000];
for(int i=0;i<10000;i++)
marcaje[i]=0;
for(int i=0;i<n;i++)
{
//printf("\n Inaltimea este:%i",a[i].h);
if(a[i].h<=h)
{
//printf("\n Inaltimea este:%i,iar indicele este:%i",a[i].h,i);
max+=a[i].g;
for(int j=i;j<n;j++)
a[j].h+=u;
}
}
f=fopen("gutui.out","w");
fprintf(f,"%i",max);
printf("\nMax este:%i",max);
fclose(f);
//getch();
}