Pagini recente » Cod sursa (job #2984533) | Cod sursa (job #2048175) | Cod sursa (job #2237350) | Cod sursa (job #76431) | Cod sursa (job #137524)
Cod sursa(job #137524)
#include<fstream.h>
long long n,m,c[100000],t[100000],nr,i,gasit,timp,j;
void quik(long long p,long long q)
{
long long aux,i,j,t1;
if(p<q)
{
i=p;
j=q;
t1=1;
do
{
if(t[i]>t[j])
{
aux=t[i];
t[i]=t[j];
t[j]=aux;
aux=c[i];
c[i]=c[j];
c[j]=aux;
t1=!t1;
}
if(t1)
j--;
else
i++;
}while(i!=j);
quik(p,i-1);
quik(i+1,q);
}
}
int main()
{
ifstream f("garaj.in");
ofstream g("garaj.out");
f>>n>>m;
for(i=1;i<=n;i++)
f>>c[i]>>t[i];
quik(1,n);
for(i=1;i<=n;i++)
if(m%c[i]==0)
{
nr=1;
timp=2*(m/c[i])*t[i];
gasit=1;
}
i=0;
while(!gasit)
{
i++;
nr++;
m=m-(m/c[i])*c[i];
if(timp<(m/c[i])*t[i])
timp=timp+(m/c[i])*t[i];
else
timp=timp;
for(j=i+1;j<=n;j++)
if(m%c[j]==0)
{
nr++;
if(timp<(m/c[j])*t[j])
timp=timp+(m/c[j])*t[j];
else
timp=timp;
gasit=1;
}
}
g<<timp<<" "<<nr;
return 0;
}