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

C. Cherry Bomb

 题目解析

        通过解析题目我们发现有以下这些情况:

(1)输出0:

        数组a和数组b中有一个值超过了k。(包括所有已知的a[i]的值,还有所有已知的b[i]和未知的b[i])

        有两种不同的b[i] != -1的{a[i], b[i]}数对。(利用maxn 和minn来判断其中数对相不相同)

(2)输出1:

        只有一种{a[i], b[i]}数对,且不满足上述输出0的情况。

        有多个{a[i], b[i]}数对,但是他们的和都相同。

(3)输出其他值(b[i]全部都是-1):

        利用数学规律,输出的值只和a数组中的最大值maxa和最小值mina,以及k值有关。种类数为k - (maxa - mina) + 1;

代码

#include<bits/stdc++.h>
using namespace std;
#define ll long long
void go()
{int n, k, t = 0;cin >> n >> k;vector<ll> a, b;for(int i = 0; i < n; i++){cin >> t;a.push_back(t);}for(int i = 0; i < n; i++){cin >> t;b.push_back(t);}//输出0的情况:(1)有一个值超过了k(2)b[i] != -1 中有两种情况不相同ll sum = 0, maxn = -1, minn =  1e9, maxa = -1, mina = 1e9;for(int i = 0; i < n; i++){mina = min(mina, a[i]);maxa = max(maxa, a[i]);if(a[i] > k){cout << 0 <<"\n";return;}if(b[i] != -1){sum++;maxn = max(maxn, a[i] + b[i]);minn = min(minn, a[i] + b[i]);   }if(maxn != minn && maxn != -1 && minn != 1e9){cout << 0 << "\n";return;}}for(int i = 0; i < n; i++){if((a[i] > maxn && maxn != -1) || (maxn - a[i] > k)){//a与b中有一个是大于k的情况cout << 0 << "\n";return;}}if(sum == 1)cout << 1 << "\n";else{if(maxn == minn)cout << 1 << "\n";else cout << k - (maxa - mina) + 1 << endl;}//输出1:只有一种b[i] != -1//输出多种的 b[i] 全部都是-1 输出k到maxa - mina}
int main()
{int t;cin >> t;while(t--){go();}   return 0;
}

http://www.xdnf.cn/news/13891.html

相关文章:

  • SpringBoot 服务器监控 监控系统开销 获取服务器系统的信息用户信息 运行信息 保持稳定
  • Rethinking Coarse-to-Fine Approach in Single Image Deblurring论文阅读
  • 产品哲学:用户收益>操作成本,字节跳动成功的底层逻辑
  • 泰国数码电商系统定制|3C产品详情泰语化+售后管理,适配泰国数码零售
  • 【QT】QTableView自定义样式:仅显示行间隔、隐藏列间隔、表头样式、表格样式、单行选中等
  • python+django/flask成都奥科厨具厂产品在线销售系统
  • Vue中v-if条件渲染的常见陷阱:以金额显示为例
  • Android音视频多媒体开源框架基础大全
  • 基于OpenCV实现实时颜色检测
  • 嵌入式相关开源项目、库、资料------持续更新中
  • Linux 系统性能测试全指南:从磁盘 I/O 到网络带宽的实战方案
  • ArcGIS Pro 3.4 二次开发 - 工作流
  • 【60 Pandas+Pyecharts | 箱包订单数据分析可视化】
  • 数据结构——第二章 线性表之顺序表、单链表
  • NB-IoT-下行基本概率和时频资源分布
  • 城市排水管网液位流量监测系统解决方案
  • 1.14 express小项目 和 用到的 jwt详解
  • 【STM32的通用定时器CR1的CKD[1:0]: 时钟分频因子 (Clock division)】
  • 【PDF】常见纸张字体大小设置指南 / Common Paper Size Font Guidelines
  • 音视频之H.264的句法和语义
  • 基于 Java 的大数据分布式存储在视频会议系统海量数据存储与回放中的应用
  • Flutter Android打包和发布Build APK
  • PROFINET主站S7-1500通过协议网关集成欧姆龙NJ系列TCP/IP主站
  • HarmonyOS 5对React Native有哪些新特性?
  • 50种3D效果演示(OpenGL)
  • Elasticsearch索引wildcard查询
  • C++面试(10)---合并两个排序的链表
  • 历史交易数据涨跌分级
  • 《信号与系统》第 9 章 拉普拉斯变换
  • Chainlink VRF 深度解析与实战