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

上海市计算机学会竞赛平台2024年1月月赛丙组最大的和

题目描述

给定两个序列 𝑎1,𝑎2,…,𝑎𝑛a1​,a2​,…,an​ 与 𝑏1,𝑏2,…,𝑏𝑛b1​,b2​,…,bn​,请从这两个序列中分别各找一个数,要求这两个数的差不超过给定的数字 𝑑d,且两个数字之和最大

输入格式
  • 第一行:两个整数 𝑛n 与 𝑑d;
  • 第二行:𝑛n 个整数 𝑎1,𝑎2,…,𝑎𝑛a1​,a2​,…,an​;
  • 第三行:𝑛n 个整数 𝑏1,𝑏2,…,𝑏𝑛b1​,b2​,…,bn​;
输出格式
  • 单个整数:两个数的最大和。若没有合适的方案输出 None
数据范围
  • 对于 30%30% 的数据,1≤𝑛≤2001≤n≤200;
  • 对于 60%60% 的数据,1≤𝑛≤200001≤n≤20000;
  • 对于 100%100% 的数据,1≤𝑛≤200001≤n≤20000,1≤𝑑≤1091≤d≤109,1≤𝑎𝑖,𝑏𝑖≤1091≤ai​,bi​≤109。
样例数据

输入:

3 2
3 1 4
1 5 9

输出:

9

说明:

4+5

详见代码:

#include<bits/stdc++.h>
using namespace std;
int n;
long long a[200005];
long long b[200005];
long long d;
long long ans=0;
int main()
{cin>>n>>d;for(int i=1;i<=n;i++){cin>>a[i];}for(int i=1;i<=n;i++){cin>>b[i];}sort(a+1,a+n+1);sort(b+1,b+n+1);int bp=1;for(int i=1;i<=n;i++){while((b[bp]<a[i]||b[bp]-a[i]<=d)&&bp<=n){bp++;}if (b[bp-1]>=a[i]&&bp-1<=n&&b[bp-1]-a[i]<=d){ans=max(ans,a[i]+b[bp-1]);}}int ap=1;for(int i=1;i<=n;i++){while((a[ap]<b[i]||a[ap]-b[i]<=d)&&ap<=n){ap++;}if (a[ap-1]>=b[i]&&ap-1<=n&&a[ap-1]-b[i]<=d){ans=max(ans,b[i]+a[ap-1]);}}if (ans==0){cout<<"None";}else{cout<<ans;}return 0;
}

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

相关文章:

  • C++三大特性之继承,详细介绍
  • Python推导式详解
  • stm32中如何实现EXTI线 0 ~ 15与对应IO口的配置呢?
  • Python 短文本匹配,短文本语义相似度,基于大模型的短文本匹配,基于LLMs的短文本语义相似度识别,短文本语义扩充和匹配
  • 提升接口性能方式汇总
  • C++中的常见语法糖汇总
  • TensorFlow Playground神经网络演示工具使用方法详解
  • 【git】subtree 简单教程
  • C语言基础:字符串函数使用与剖析
  • 搭建Vulnhub靶机网络问题(获取不到IP)
  • Prompt 提示词强大方法论和框架2
  • C语言分支和循环(2)
  • 14.FreeRTOS 流媒体缓存 Stream Buffer
  • 利用ffmpeg把视频分解成图片(每秒x张图)再图片合成视频
  • 冯喜运:6.7今日外汇黄金原油走势分析及日内操作策略
  • [网络基础]——计算机网络(OSI)参考模型 详解
  • 使用 Java 获取图片的 MD5 编码
  • GO——泛型
  • TSP(Python):Qlearning求解旅行商问题TSP(提供Python代码)
  • 【精通NIO】NIO介绍
  • ssh远程管理
  • 【ai】pycharm远程ssh开发
  • leetcode 9 回文数
  • 学习Python的基础知识
  • 第五届上海市青少年算法竞赛网络同步赛(小学组)
  • 【区分vue2和vue3下的element UI Cascader 级联选择器组件,分别详细介绍属性,事件,方法如何使用,并举例】
  • pottery,一个超酷的 Python 库!
  • 【Android面试八股文】在Java中重载和重写是什么意思,区别是什么?
  • 【第二篇】SpringSecurity源码详解
  • 基于Python+FFMPEG环境下载B站歌曲