zoukankan      html  css  js  c++  java
  • BZOJ-4915-简单的数字题

    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
    ",max(r/11ll-l+1,0ll)+max(r/29ll-l+1,0ll));
     9     return 0;
    10 } 
    View Code
  • 相关阅读:
    知识点拾遗——装饰器
    知识点拾遗——函数部分
    re模块和分组
    re模块进阶
    面向对象总结
    模块总结整理
    项目目录结构
    日志(模块logging)
    位、字节、字符 概念
    socketserver实现并发通讯
  • 原文地址:https://www.cnblogs.com/zhuchenrui/p/7667041.html
Copyright © 2011-2022 走看看