BZOJ-4915-简单的数字题

本文解析了一道IMO数学题目,探讨了对于任意四个不同正整数构成的集合A,其组合特性及数量问题,并给出了具体的算法实现及样例分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Description

对任意的四个不同的正整数组成的集合A={a_1,a_2,a_3,a_4 },记S_A=a_1+a_2+a_3+a_4,设n_A是满足a_i+a_j (1
≤i<j≤4)|S_A的数对(i,j)的个数,现在有两问第一问:求对于所有由4个不同正整数的集合A,n_A的最大值是多
少第二问:我们将给出l,r,求区间l到r内满足n_A为最大值的集合组数。
 

Input

输入一行 2 个整数 l 和 r,意义如上所述。 
0≤l,r≤10^18
 

Output

输出 2 行,每行一个整数,分别表示 2 问的答案。 
 

 

Sample Input

1 30

Sample Output

4
3
【样例解释】
n_A最大只能达到 4,没有n_A超过 4 的 4 个数
在[1, 30]中,满足n_A为 4 的 4 个数共有 3 组:
1. 1 5 7 11
2. 2 10 14 22
3. 1 11 19 29

HINT

 

Source

 

题解

这道题是IMO的原题—传送门

 

 1 #include<bits/stdc++.h>
 2 #define ll long long
 3 using namespace std;
 4 ll l,r;
 5 int main(){
 6     scanf("%lld%lld",&l,&r);
 7     puts("4");
 8     printf("%lld\n",max(r/11ll-l+1,0ll)+max(r/29ll-l+1,0ll));
 9     return 0;
10 } 
View Code

 

转载于:https://www.cnblogs.com/zhuchenrui/p/7667041.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值