贪心+GCD

http://www.bnuoj.com/bnuoj/problem_show.php?pid=10787

下电影的时间所用最少是多少

做法:贪心

每部电影全速下载所需要的时间的最大值和所有电影同时满速下载的时间,两者取大

View Code
#include<stdio.h>

long long gcd(long long a,long long b){
if (b==0) return a;
else return gcd(b,a%b);
}

int main()
{
long long n,m;
while(scanf("%lld%lld",&n,&m)!=EOF)
{
int i,j;
long long all=0,a,b,temp;
double max=0;

long long ra,rb;
for(i=1;i<=n;i++)
{
scanf("%lld%lld",&a,&b);
all+=a;
if(max<(a*1.0/b))
{
max=a*1.0/b;
ra=a;rb=b;
}
}

if(max<(all*1.0/m))
{
ra=all;rb=m;
}
temp=gcd(ra,rb);
ra=ra/temp;
rb=rb/temp;

printf("%lld/%lld\n",ra,rb);
}
return 0;
}



原文地址:https://www.cnblogs.com/huhuuu/p/2438134.html