博客
关于我
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/

    你可能感兴趣的文章
    Oracle数据库入门——初级系列教程
    查看>>
    oracle数据库包package小例子
    查看>>
    UBUNTU 添加删除用户
    查看>>
    Oracle数据库备份与还原
    查看>>
    Ubuntu Seata开机自启动服务
    查看>>
    uart 驱动架构
    查看>>
    Oracle数据库学习(三)
    查看>>
    Oracle数据库安装成功后,忘记解锁账户和设置密码
    查看>>
    TypeError: create_purple() 接受 0 个位置参数,但给出了 2 个
    查看>>
    Oracle数据库异常--- oracle_10g_登录em后,提示java.lang.Exception_Exception_in_sending_Request__null或Connection
    查看>>
    Oracle数据库异常---OracleDBConsoleorcl无法启动
    查看>>