Pagini recente » Cod sursa (job #875021) | Cod sursa (job #1909777) | Cod sursa (job #2600048) | Cod sursa (job #1904106) | Cod sursa (job #137404)
Cod sursa(job #137404)
#include<stdio.h>
long i,j,n,m,tmax,S;
long cost[100001];
int cant[100001],t[100001];
long poz(int li,int ls)
{
long i=li,j=ls,t=1;
long aux;
while(i<j)
{
if(cost[i]<cost[j])
{
aux=cost[i];
cost[i]=cost[j];
cost[j]=aux;
}
if(t)
i++;
else
j--;
}
return i;
}
void qsort(int li,int ls)
{
long p;
if(li<ls)
{
p=poz(li,ls);
qsort(li,p-1);
qsort(p+1,ls);
}
}
int main(void)
{
freopen("garaj.in","r",stdin);
freopen("garaj.out","w",stdout);
scanf("%ld%ld",&n,&m);
for(i=1;i<=n;i++)
scanf("%d%d",&cant[i],&t[i]);
tmax=0;
S=0;
while(S<m)
{
S=0;
tmax++;
for(i=1;i<=n;i++)
{
cost[i]=tmax/(2*t[i])*cant[i];
S+=cost[i];
}
}
qsort(1,n);
S=0;
i=0;
while(S<m)
{
i++;
S+=cost[i];
}
printf("%ld %ld\n",tmax,i);
return 0;
}