博客
关于我
CCFCSP 201709-1 打酱油
阅读量:748 次
发布时间:2019-03-22

本文共 587 字,大约阅读时间需要 1 分钟。

思路:对数组进行排序后,遍历检查相邻元素的最小差值,即可得到结果。

#include 
using namespace std;typedef long long ll;const int N = 1e6 + 5;const ll mod = 1e9 + 7;int main() { int n; cin >> n; vector
a; for(int i = 1; i <= n; ++i) { ll x; cin >> x; a.push_back(x); } sort(a.begin(), a.end()); ll mi = LLONG_MAX; for(int i = 1; i < a.size(); ++i) { if(a[i] - a[i-1] < mi) { mi = a[i] - a[i-1]; } } // ...}

代码逻辑解析:

  • 首先读取输入数据,储存在数组$a中。
  • 对数组进行排序。
  • 初始化minimal difference为一个极大值。
  • 遍历排序后的数组,逐个计算相邻元素之差。
  • 如果当前差值小于已知的最小值,则更新最小值。
  • 最终输出结果。
  • 转载地址:http://huhwk.baihongyu.com/

    你可能感兴趣的文章
    Navicat如何连接MySQL
    查看>>
    navicat导入.sql文件出错2006- MySQLserver has gone away
    查看>>
    Navicat导入海量Excel数据到数据库(简易介绍)
    查看>>
    Navicat工具Oracle数据库复制 or 备用、恢复功能(评论都在谈论需要教)
    查看>>
    Navicat工具中建立数据库索引
    查看>>
    navicat工具查看MySQL数据库_表占用容量_占用空间是多少MB---Linux工作笔记048
    查看>>
    navicat怎么导出和导入数据表
    查看>>
    Navicat怎样同步两个数据库中的表
    查看>>
    Navicat怎样筛选数据
    查看>>
    Navicat报错connection is being used
    查看>>
    Navicat报错:1045-Access denied for user root@localhost(using passwordYES)
    查看>>
    Navicat控制mysql用户权限
    查看>>
    navicat操作mysql中某一张表后, 读表时一直显示正在载入,卡死不动,无法操作
    查看>>
    Navicat连接mysql 2003 - Can't connect to MySQL server on ' '(10038)
    查看>>
    Navicat连接mysql数据库中出现的所有问题解决方案(全)
    查看>>
    Navicat连接Oracle出现Oracle library is not loaded的解决方法
    查看>>
    Navicat连接Oracle数据库以及Oracle library is not loaded的解决方法
    查看>>
    Navicat连接sqlserver提示:未发现数据源名并且未指定默认驱动程序
    查看>>
    navicat连接远程mysql数据库
    查看>>
    Navicat通过存储过程批量插入mysql数据
    查看>>