Pagini recente » Cod sursa (job #1574643) | Cod sursa (job #2499121) | Cod sursa (job #3322654) | Cod sursa (job #2329012) | Cod sursa (job #3338008)
#include <fstream>
using namespace std;
ifstream fin ("garaj.in");
ofstream fout ("garaj.out");
int n,m,c[100001],t[100001],tmin;
int main()
{
fin>>n>>m;
for (int i=1; i<=n; i++)
{
fin>>c[i]>>t[i];
}
for (int T=1;; T++)
{
int sticleTransportate = 0;
for (int j=1; j<=n; j++)
{
int numarTransporturiCuCamionulj = T / (2 * t[j]);
int sticleTransportateCuCamionulj = c[j] * numarTransporturiCuCamionulj;
sticleTransportate += sticleTransportateCuCamionulj;
}
if (sticleTransportate >= m)
{
tmin=T;
break;
}
}
fout<<tmin<<" ";
int sticleTransportate = 0;
for (int j=n; j>=1; j--)
{
int T=tmin;
int numarTransporturiCuCamionulj = T / (2 * t[j]);
int sticleTransportateCuCamionulj = c[j] * numarTransporturiCuCamionulj;
sticleTransportate += sticleTransportateCuCamionulj;
if (sticleTransportate >= m)
{
//j din momentul in care fac break pe vectorul sortat ramane numarul minim de camioane
fout<<j;
break;
}
}
return 0;
}