3338 蓝桥杯 wyz的数组IV 简单

3338 蓝桥杯 wyz的数组IV 简单

//C++风格解法1,通过率50%
#include<bits/stdc++.h>int main(){std::ios::sync_with_stdio(false);std::cin.tie(nullptr);std::cout.tie(nullptr);int n;	std::cin >> n;int ans = 0;std::vector<int>a(n);for(auto &x: a)std::cin >> x;for(int i = 0; i < n; i++){for(int j = i + 1; j < n; j++){if(std::gcd(a[i], a[j]) == 2)ans = std::max(ans, i + j + 2);  //gcd()// i + j + 2 的原因是:下标从0,但第几个从 1 开始,两个数 + 2// C++中,std::__gcd(x, y)(C98) 和 std::gcd(x,y)(C++17) 直接求 x,y 的最大公约数// n * n, n = 10^5, n * n = 10^(10),1s一般是 2 * 10^8}}std::cout << ans <<'\n';return 0;
}

//C风格解法2,通过率100%
#include<bits/stdc++.h>const int N = 1e3 + 1;int mx[N]; // mx_i 表示的 i 这个数值的数在原数组的最大下标,桶int main(){int n;    scanf("%d", &n); // 读入 nint ans = 0;for(int i = 1; i <= n; i++){    int x;    scanf("%d", &x); // 输入 a_iif(x == 2){if(mx[2] != 0)ans = std::max(ans, mx[2] + i);}mx[x] = std::max(mx[x], i);}for(int i = 2; i <= 1000; i++){ // 枚举的是值,而不是下标,10^3for(int j = i + 1; j <= 1000; j++){ // 枚举的是值,而不是下标,10^3if(mx[i] == 0 || mx[j] == 0)continue; // 如果 i 或 j 没有出现,就 contineif(std::gcd(i,j) != 2)continue;ans = std::max(ans, mx[i] + mx[j]);}}printf("%d\n", ans);return 0;
}

reference:

【C++】__gcd(x,y)函数_∑ y∈c gcd(x,y)-CSDN博客


最大公约数 —— Greatest Common Divisor(GCD) - 知乎 (zhihu.com)
​​​​​​[详解-vector] C++必知必会 vector常用各种操作解析 - 知乎 (zhihu.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/437717.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java语言名字由来

文章目录 一、1990年代初Java雏形初诞生&#xff0c;第一个名称是Greentalk二、创始人办公室前有棵橡树&#xff0c;后来改名叫“oak&#xff08;橡树&#xff09;”三、在家电行业失败进入互联网行业&#xff0c;发现商标被抢注被迫换名四、创始团队成员在喝咖啡时灵机一动&am…

Mysql-ReadView + MVCC-RR 与 RC

实验准备 创建脚本 CREATE TABLE user (id int(11) NOT NULL AUTO_INCREMENT,name varchar(16) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,age int(11) NULL DEFAULT NULL,addr varchar(256) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,PRIMARY …

双非本科准备秋招(9.3)—— JVM2

学这个JVM还是挺抽象的&#xff0c;不理解的东西我尽量记忆了&#xff0c;毕竟刚接触两天&#xff0c;也没遇到过实际应用场景&#xff0c;所以学起来还是挺费劲的&#xff0c;明天再补完垃圾回收这块的知识点。U•ェ•*U 先补一下JVM运行时的栈帧结构。 线程调用一个方法的执…

[嵌入式软件][启蒙篇][仿真平台] STM32F103实现SPI控制OLED屏幕

上一篇&#xff1a; [嵌入式软件][启蒙篇][仿真平台] STM32F103实现LED、按键 [嵌入式软件][启蒙篇][仿真平台] STM32F103实现串口输出输入、ADC采集 [嵌入式软件][启蒙篇][仿真平台]STM32F103实现定时器 [嵌入式软件][启蒙篇][仿真平台] STM32F103实现IIC控制OLED屏幕 文章目…

LabVIEW探测器CAN总线系统

介绍了一个基于FPGA和LabVIEW的CAN总线通信系统&#xff0c;该系统专为与各单机进行系统联调测试而设计。通过设计FPGA的CAN总线功能模块和USB功能模块&#xff0c;以及利用LabVIEW开发的上位机程序&#xff0c;系统成功实现了CAN总线信息的收发、存储、解析及显示功能。测试结…

操作系统(7)----调度相关知识点(万字总结~)

目录 一.调度的三个层次 1.高级调度 2.低级调度 3.中级调度 二.进程的挂起状态 三.进程调度的时机 四.进程调度方式 1.非剥夺调度方式 2.剥夺调度方式 五.进程的切换与过程 六.调度器/调度程序 1.调度程序 2.闲逛进程 七.评价调度算法的各个指标 1.CPU利用率 2…

Java 异常处理上篇: Throwable 详解

文章目录 前言Throwable 类ErrorException受检异常&#xff08;Checked Exception&#xff09;非受检异常&#xff08;Unchecked Exception&#xff09; 异常处理关键字try-catchfinallythrow 总结个人简介 前言 Java 异常处理是编写稳健、可靠程序的关键组成部分。在 Java 中…

verilog编程之乘法器的实现

知识储备 首先来回顾一下乘法是如何在计算机中实现的。 假设现在有两个32位带符号定点整数x和y&#xff0c;我们现在要让x和y相乘&#xff0c;然后把乘积存放在z中&#xff0c;大家知道&#xff0c;两个32位数相乘&#xff0c;结果不会超过64位&#xff0c;因此z的长度应该为64…

Mac下查看、配置和使用环境变量

Mac下查看、配置和使用环境变量 一&#xff1a;Mac怎么查看环境变量命令 printenv一&#xff1a;这个命令会一次性列出所有环境变量的键值对&#xff0c;输出格式为&#xff1a; VAR1value1 VAR2value2 ...二&#xff1a; 也可以通过给这个命令加上环境变量名参数&#xff0…

2023年CSDN年终总结:长风破浪会有时,风物长宜放眼量

目录 0 回首20231 打造垂类专栏2 个人技术成长3 首发SCI期刊4 生活中的美好5 新年新flag 0 回首2023 这是去年flag的完成情况&#xff0c;很惊喜地发现全部顺利完成了。 CSDN坚持垂类写作&#xff0c;完结机器学习和ROS机器人专栏&#xff0c;开启深度学习新篇章 粉丝数希望突…

Oracle篇—分区表和分区索引常用检查语句(第四篇,总共五篇)

☘️博主介绍☘️&#xff1a; ✨又是一天没白过&#xff0c;我是奈斯&#xff0c;DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux&#xff0c;也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章&#xff0c;并且也会默默的点赞收藏加关注❣…

Self-Attention 和 Multi-Head Attention 的区别——附最通俗理解!!

文章目录 前言 一、简要介绍 二、工作流程 三、两者对比 四、通俗理解 前言 随着Transformer模型的迅速普及&#xff0c;Self-Attention&#xff08;自注意力机制&#xff09;和Multi-Head Attention&#xff08;多头注意力机制&#xff09;成为了自然语言处理&#xff08;NLP…