• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

B. Friends and Presents(Codeforces Round #275(div2)

mysql 搞代码 4年前 (2022-01-09) 29次浏览 已收录 0个评论

Note In the first sample you give the set of numbers {1,?3,?5} to the first friend and the set of numbers {2} to the second friend. Note that if you give set {1,?3,?5} to the first friend, then we cannot give any of the numbers 1 , 3 , 5 t

Note

In the first sample you give the set of numbers {1,?3,?5} to the first friend and the set of numbers {2} to the second friend. Note that if you give set {1,?3,?5} to the first friend, then we cannot give any of the numbers 1, 3, 5 to the second friend.

In the second sample you give the set of numbers {3} to the first friend, and the set of numbers {1,?2,?4} to the second friend. Thus, the answer to the problem is 4.

二分渣渣把二分又写跪了,总是分不清l与r的关系o(╯□╰)o,我竟然l和r都判断了一下。这题竟然l和r都能过。

这题就是枚举一下中间结果,对a周期为x-1,b周期为y-1,只有当i为y的倍数时,只能让a取,当i为x的倍数时,只

能让b取,算一下x,y的倍数时两个都不能取得,a的总数量减去只能a取的,b的总数量减去只能b取的 ,剩下的要

取的和小于等于两个都能取得,这个值就是有效值。

代码:

<mark style="color:transparent">本文来源gaodaimacom搞#^代%!码网@</mark>#include #include #include using namespace std;long long cnt1,cnt2,x,y;long long gcd(long long a,long long b){    return b==0?a:gcd(b,a%b);}bool judge(long long v){    long long t1,t2,t3;    t1=v/x;    t2=v/y;    t3=v/(x*y/gcd(x,y));    long long temp1,temp2,temp3;    temp1=max((long long)0,cnt1-t2+t3);//t2-t3是只能a取的,cnt1-只能a取的,就是剩下a没取的    temp2=max((long long)0,cnt2-t1+t3);//t1-t3是只能b取的,cnt2-只能b取的,就是剩下b没取的    temp3=max((long long)0,v-t1-t2+t3);//x,y都能取的    if(temp3>=temp1+temp2)//a,b都能取的大于要大于等于a,b没取的和    return true;    else    return false;}int main(){    scanf("%I64d%I64d%I64d%I64d",&cnt1,&cnt2,&x,&y);    long long l=1,r=2000000000;    long long u=0;    while(l>1;        if(judge(m))        {            u=m;            r=m;        }        else        {            l=m+1;        }    }   // long long ans;   // if(judge(r))   // ans=r; //   else  //  ans=l;    printf("%I64d\n",u);    return 0;}

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:B. Friends and Presents(Codeforces Round #275(div2)

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址