Pagini recente » Cod sursa (job #2154397) | Monitorul de evaluare | Cod sursa (job #121329) | Istoria paginii utilizator/boyteroxana | Cod sursa (job #203831)
Cod sursa(job #203831)
#include<stdio.h>
#include<algorithm>
using namespace std;
struct camion {int c,t;} c[100001];
long long sol,nr,mij,i,u,p;
int s[100001],n,k;
long long trans(long long x){
long long R=0;
for(i=1;i<=n;i++)
R+=c[i].c * (x/(c[i].t*2));
return R;
}
int main(){
FILE *f=fopen("garaj.in","r");
FILE *g=fopen("garaj.out","w");
fscanf(f,"%d %d",&n,&k);
for(i=1;i<=n;i++)
fscanf(f,"%d %d",&c[i].c,&c[i].t);
p=1;
u=k*c[1].t/c[1].c;
sol=u*2;
nr=1;
while(p<=u){
mij=(p+u)/2;
if(trans(mij)>=k){
sol=mij;
u=mij-1;
}
else
p=mij+1;
}
for(i=1;i<=n;i++)
s[i]+=c[i].c * (sol/(c[i].t*2));
sort(s+1,s+1+n);
long long R=0;
nr=0;
for(i=n;i>=1;i--){
R+=s[i];
nr++;
if(R>=k)
break;
}
fprintf(g,"%lld %lld",sol,nr);
fclose(f);
fclose(g);
return 0;
}