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

P5682 [CSP-J2019 江西] 次大值% 运算 set 去重的一道好题

#include <bits/stdc++.h>
using namespace std;
int n, x, len, a[100010], ans;
set<int> s;
set<int>::iterator asd;
int main()
{/*a[n-1]  是最大的a[n-2]  可能是次大的a[n]%a[n-1]<a[n-1] 不可能是最大的,可能是次大的a[n-1]%a[n-2]<a[n-2]  不可能是次大的a[n-2]%a[n-3]<a[n-3]  不可能是次大的所以次大值在a[n-2]和a[n]%a[n-1]中取得,为两者中的最大值*/scanf("%d", &n);//set会自动从小到大排序for(int i=1; i<=n; ++i){scanf("%d", &x);s.insert(x);}n=int(s.size());    //获取不重复的数字个数asd=s.begin();//将数字存在a数组中for(int i=1; i<=n; ++i){a[i]=*asd;  //asd 是迭代器asd++;}//原数只有 1 个if(n==1){printf("-1");}else if(n==2){  //原数有两个, 则余数为 a[n-1] 和 a[n]%a[n-1]<a[n-1]printf("%d", a[n]%a[n-1]);}else{   //原数至少 3 个ans=max(a[n]%a[n-1], a[n-2]);printf("%d", ans);}return 0;
}

http://www.lryc.cn/news/194393.html

相关文章:

  • vue3后台管理框架之API接口统一管理
  • 线性表的插入、删除和查询操作
  • 基于深度学习网络的疲劳驾驶检测算法matlab仿真
  • 【文件系统】Linux文件系统的基本存储机制
  • Outlook导入导出功能灰色,怎么解决
  • Chrome 同站策略(SameSite)问题
  • docker搭建nginx+php-fpm
  • 数据结构与算法---单调栈结构
  • Python爬虫:某书平台的Authorization参数js逆向
  • Android MediaCodec 框架 基于codec2
  • 【RocketMQ 系列三】RocketMQ集群搭建(2m-2s-sync)
  • Go TLS服务端绑定证书的几种方式
  • 【算法与数据结构】--高级算法和数据结构--排序和搜索
  • 【Java】jvm 元空间、常量池(了解)
  • Spring Boot自动加载
  • MPNN 模型:GNN 传递规则的实现
  • Flink kafka 数据汇不指定分区器导致的问题
  • 【软考】14.1 面向对象基本概念/分析设计测试
  • MFC-对话框
  • Essential Steps in Natural Language Processing (NLP)
  • Flink中KeyBy、分区、分组的正确理解
  • QT6集成CEF3--01 准备工作
  • 随机误差理论与测量
  • 树莓派4b配置通过smbus2使用LCD灯
  • UPS 原理和故障案例分享
  • Stream流中的 max()和 sorted()方法
  • 云上攻防-云原生篇Docker安全权限环境检测容器逃逸特权模式危险挂载
  • PDE数值解中,为什么要引入弱解(weak solution)的概念?
  • 使用pdfjs实现在线预览pdf
  • 汇编语言基础