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

蓝桥杯备考:数学问题模运算---》次大值

这道题,由于数据规模是2e5,我们直接暴力的话是一定会超时的

所以我们得想个办法,我们先把所有的数排序去重

我们先想想如果要找最大值,怎么找

这时候我们要分类讨论

①如果是大数模小数,那结果肯定是小于小数的,我们让小数最大,但是又必须得让大数比小数大,所以小数只能选择a[n-1] 大数选择a[n]也就是a[n]%a[n-1],这个式子模出来的值一定是小于a[n-1]的

②如果是小数模大数,结果就是小数,我们要让小数最大,也就是a[n-1]%a[n] 这个时候模出来的值就是a[n-1] 所以最大值就是a[n-1]%a[n]

but,我们要求的不是最大值而是次大值

我们继续分类讨论

①如果是大数模小数,结果肯定是小于小数的,因为最大值是a[n-1]%a[n],我们的次大值一定是小于a[n-1]的,所以应该是a[n]%a[n-1],结果小于a[n-1]

②如果是小数模大数,结果就是小数,这时候我们得让小数第二大,也就是a[n-2]%a[n],结果就是a[n-2]

最后我们对这两种情况取max,就是我们的答案了!
 

#include <iostream>
#include <algorithm>
using namespace std;
int n;
const int N = 2e5+10;
int a[N];
int main()
{
	cin >> n;
	for(int i =1;i<=n;i++)
	{
		cin >> a[i];
	}
	sort(a+1,a+1+n);
	n = unique(a+1,a+1+n) - (a+1);
	cout << max(a[n-2]%a[n],a[n]%a[n-1]);
	
	return 0;
}

相关文章:

  • dfs(十八)98. 验证二叉搜索树
  • Linux 驱动开发笔记--1.驱动开发的引入
  • 海康ISAPI协议在智联视频超融合平台中的接入方法
  • CIR-Net:用于 RGB-D 显著性目标检测的跨模态交互与优化(问题)
  • 蓝桥杯十四届C++B组真题题解
  • DeDeCMS靶场获取wenshell攻略
  • 【B站电磁场】Transformer
  • 【QT5 多线程示例】互斥锁
  • QWen 和 DeepSeek 入门指南
  • 天梯赛 L2-012 关于堆的判断
  • 光谱仪与光谱相机的核心区别与协同应用
  • 使用 AnythingLLM 轻松部署本地知识库!
  • 雷池SafeLine-自定义URL规则拦截非法请求
  • 【MySQL】触发器与存储引擎
  • 基于开源模型的微调训练及瘦身打造随身扫描仪方案__用AI把手机变成文字识别小能手
  • 第二章 EXI协议原理与实现--7.5 Efficient XML库和OpenEXI.jar编解码交叉测试
  • Linux网络相关概念和重要知识(2)(UDP套接字编程、聊天室的实现、观察者模式)
  • XGBoost
  • 1987-2023年各省进出口总额数据整理(含进口和出口)(无缺失)
  • 目标检测中归一化的目的?
  • 崔登荣任国家游泳队总教练
  • 首个偏头痛急性治疗药物可缓解前期症状
  • 中国巴西关于乌克兰危机的联合声明
  • 上海团队在医学顶刊连发两文,率先提出“证据污染”循证概念
  • 检疫期缩减至30天!香港优化内地进口猫狗检疫安排
  • 美股全线收涨:道指涨逾千点,纳斯达克中国金龙指数涨5.4%