Pagini recente » Cod sursa (job #248210) | Istoria paginii runda/oni2014_ziua_iii/clasament | Cod sursa (job #1660935) | Cod sursa (job #1986024) | Cod sursa (job #431419)
Cod sursa(job #431419)
#include<stdio.h>
#include<stdlib.h>
typedef struct{
int g;
int h;
}fruct;
int main(){
int n,H,u;
FILE *f=fopen("gutui.in","r");
fscanf(f ,"%d" ,&n);
fscanf(f ,"%d" ,&H);
fscanf(f ,"%d" ,&u);
fruct a[n];
for(int i=0;i<n;++i)
{
fscanf(f ,"%d" ,&a[i].h);
fscanf(f ,"%d" ,&a[i].g);
}
fclose(f);
int v[n];
int aux=n;
int j=0;
int s=0,var=-1,var2;
int max,max2;
while(aux !=0 ){
max=-1000;max2=-1000;
for(int i=0;i<n;++i)
{
if(a[i].h > H-u && a[i].h <= H)
{
if(a[i].g >= max)
{
max=a[i].g;
var=i;
}
}
else if(max2 <= a[i].g)
{
max2=a[i].g;
var2=i;
}
}
if(max > 0 && var != -1)
{
s+=max;
a[var].g=0;a[var].h=0;aux--;
}
else if(max2 > 0 && var2 != -1)
{
s+=max2;
a[var2].g=0;a[var2].h=0;aux--;
}
for(int i=0;i<n;++i)
{
if(a[i].h != 0)
{
a[i].h+=u;
if(a[i].h > H)
{
a[i].h=0;
a[i].g=0;
aux--;
}
}
}
}
FILE *f2=fopen("gutui.out","w");
fprintf(f2 , "%d" ,s);
fclose(f2);
// system("pause");
return 0;
}