当前位置: 首页 > news >正文

AcWing 第71场周赛

4621. 三个整数

  •   题目 
  •   提交记录 
  •   讨论 
  •   题解 
  •   视频讲解 

给定四个整数 a,b,c,d

,保证 a≤b≤c≤d

请你找到三个整数 x,y,z

,使得它们满足:

  • a≤x≤b
  • b≤y≤c
  • c≤z≤d
  • x+y>z

输入格式

共一行,四个整数 a,b,c,d

输出格式

共一行,三个整数 x,y,z

保证一定有解。

如果方案不唯一,则输出任意合理方案均可。

数据范围

所有测试点满足 1≤a≤b≤c≤d≤100

输入样例1:

1 3 5 7

输出样例1:

3 4 5

输入样例2:

1 5 5 7

输出样例2:

5 5 5

 

#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

int main()
{
    int a,b,c,d;
    cin >> a >> b >> c >> d;
    int x,y,z;
    x=b,y=c,z=c;
    cout << x << ' ' << y << ' ' << z << endl;
    return 0;
}

4622. 整数拆分

  •   题目 
  •   提交记录 
  •   讨论 
  •   题解 
  •   视频讲解 

我们规定 f(x)

(x≥2)表示整数 x

的除本身之外的最大因数。

例如,f(6)=3

,f(25)=5,f(2)=1

现在,给定一个整数 n

,请你将其拆分为 k 份 n1,n2,…,nk(也可以不拆分,即 k=1

),要求:

  • n1+n2+…+nk=n
  • 对于 1≤i≤k
  • ,ni≥2
  • 始终成立。
  • f(n1)+f(n2)+…+f(nk)
  • 的值应尽可能小。

输出 f(n1)+f(n2)+…+f(nk)

的最小可能值。

输入格式

一个整数 n

输出格式

一个整数,表示 f(n1)+f(n2)+…+f(nk)

的最小可能值。

数据范围

前 4

个测试点满足 2≤n≤30。
所有测试点满足 2≤n≤2×109

输入样例1:

4

输出样例1:

2

输入样例2:

27

输出样例2:

3

  * 关于偶数得哥德巴赫猜想:任何一个大于一个 2 得偶数都可以写为两个素数之和;
 *
 * 那么根据题目的意思:
 * 如果n是素数,那么答案是1;
 * 如果n是大于2的偶数,那么答案是2;
 * 如果n是奇数,
 *      且 n-2 是素数,那么答案是 2 (n == (n-2) + 2);
 *      如果 n-2 不是素数,那么答案是3 (n == (n-3) + 3);n-3是偶数

/**
 * 关于偶数得哥德巴赫猜想:任何一个大于一个 2 得偶数都可以写为两个素数之和;
 * 
 * 那么根据题目的意思:
 * 如果n是素数,那么答案是1;
 * 如果n是大于2的偶数,那么答案是2;
 * 如果n是奇数,
 *      且 n-2 是素数,那么答案是 2 (n == (n-2) + 2);
 *      如果 n-2 不是素数,那么答案是3 (n == (n-3) + 3);n-3是偶数
*/


#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

bool is_primer(int x)
{
    for(int i=2;i*i <= x;++i)
        if(x%i == 0)
            return false;
    return true;
}

int main()
{
    int n;
    cin >> n;
    
    if(is_primer(n))
        puts("1");
    else if(n%2 == 0 || is_primer(n-2))
        puts("2");
    else
        puts("3");
    
    return 0;
}

4623. 买糖果

  •   题目 
  •   提交记录 
  •   讨论 
  •   题解 
  •   视频讲解 

n

个糖果店,围成一圈。

店铺按顺时针顺序从 1

到 n 编号,n 号店铺与 1

号店铺相邻。

第 i

号店铺的单个糖果售价为 ai

元。

李华拿着 T

元钱去购买糖果,具体购买过程如下:

  1. 初始时,他位于 1
  • 号店铺。
  • 如果他现有的钱足够在当前店铺购买一个糖果,他就会立即购买一个糖果,否则他将不会在当前店铺购买糖果。随后,不论他是否在当前店铺购买糖果,他都会按顺时针顺序前往下一个店铺。
  • 他将不断重复过程 2
  1. ,直到剩余的钱在所有店铺都买不起糖果为止。

请问,最终李华一共购买到多少个糖果。

输入格式

第一行包含两个整数 n,T

第二行包含 n

个整数 a1,a2,…,an

输出格式

一个整数,表示一共购买到的糖果数量。

数据范围

前 6

个测试点满足 1≤n≤10。
所有测试点满足 1≤n≤2×105,1≤T≤1018,1≤ai≤109

输入样例1:

3 38
5 2 5

输出样例1:

10

输入样例2:

5 21
2 4 100 2 6

输出样例2:

6

  * 枚举一圈内所有可以从前到后顺序购买的糖果的总价格以及糖果的数量;如果当前这颗
 * 糖果我们买不起,那么我们下一轮回来的时候照样买不起;一轮结束以后,用剩下的钱
 * t 除以 sum,得到我们可以转 ans 圈,且这ans圈买的糖果总类是相同的;再用剩余的钱
 * 减去买ans圈糖果所需的钱;如此循环下去,直到我们转一圈,一颗糖果都买不起的时候,
 * 循环结束;

/**
 * 枚举一圈内所有可以从前到后顺序购买的糖果的总价格以及糖果的数量;如果当前这颗
 * 糖果我们买不起,那么我们下一轮回来的时候照样买不起;一轮结束以后,用剩下的钱
 * t 除以 sum,得到我们可以转 ans 圈,且这ans圈买的糖果总类是相同的;再用剩余的钱
 * 减去买ans圈糖果所需的钱;如此循环下去,直到我们转一圈,一颗糖果都买不起的时候,
 * 循环结束;
*/

#include <iostream>
#include <algorithm>

using namespace std;

typedef long long LL;

const int maxn = 2e5+10;
int a[maxn];

int main()
{
    int n;
    LL t; //t 要定义为 long long 
    scanf("%d%lld",&n,&t);
    
    for(int i=1;i<=n;++i)
        scanf("%d",&a[i]);
    
    LL res = 0; //res 也要定义为 long long
    while(1)
    {
        LL sum = 0;
        int cnt = 0;
        for(int i=1;i<=n;++i)
            if(sum + a[i] <= t)
            {
                sum += a[i];
                ++cnt;
            }
            
        if(!sum) //转了一圈,但是一颗糖果都买不起,退出循环
            break;
            
        LL ans = t/sum; //能买得起的圈数,ans也需要定于成 long long
        res += ans*cnt; 
        t %= sum;
    }
    
    printf("%lld\n",res);
    return 0;
}

相关文章:

  • Redis实战 - 02 Redis 保存短信验证码实现用户注册
  • AcWing——第 71 场周赛
  • 利用Vulhub复现log4j漏洞CVE-2021-44228
  • 【学生网页设计作业源码】基于html+css保护海豚主题网页设计与制作(7页)
  • 频率响应说明
  • C++教程系列之-01-C++概述与NOIP案例
  • Network 之十四 email 通信架构、Postfix 部署详解
  • Tableau8——数据操作
  • python基础知识笔记
  • 基于FPGA的PID控制器设计
  • 程序设计与c语言笔记(一)
  • 【.Net实用方法总结】 整理并总结.NET 中的 System.IO.Pipelines(管道)
  • 深度学习10——卷积神经网络
  • Mybatis 实现原理
  • matplotlib入门
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • Android优雅地处理按钮重复点击
  • codis proxy处理流程
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • exif信息对照
  • javascript面向对象之创建对象
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • Octave 入门
  • October CMS - 快速入门 9 Images And Galleries
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • rabbitmq延迟消息示例
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • 将 Measurements 和 Units 应用到物理学
  • 来,膜拜下android roadmap,强大的执行力
  • 免费小说阅读小程序
  • 微服务框架lagom
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 栈实现走出迷宫(C++)
  • linux 淘宝开源监控工具tsar
  • 阿里云重庆大学大数据训练营落地分享
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • #13 yum、编译安装与sed命令的使用
  • #HarmonyOS:软件安装window和mac预览Hello World
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (+4)2.2UML建模图
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (三)docker:Dockerfile构建容器运行jar包
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • (转载)CentOS查看系统信息|CentOS查看命令
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...