2812: 【算法思想】【双指针】最小差

题目描述

给定N个整数A1, A2, … ,AN,以及一个正整数K。问在所有两个数的差Ai-Aj中大于等于K的最小的差是多少(其中Ai>Aj而且i!=j,N<=100000)

输入

第一行输入n和k

第二行输入n个整数

输出

所有两个数的差(Ai-Aj)中大于等于K的最小的差,若不存在最小差则输出“no answer!”

样例输入

6 3
3 1 8 7 15 10

样例输出

3

Code:

#include<bits/stdc++.h>
using namespace std;
int n,k,minx,a[100005]; 
int main(){
    cin>>n>>k;
    for(int i=0;i<n;i++){
        cin>>a[i];
    }
    sort(a,a+n);
    if(a[n-1]-a[0]<k){
        cout<<"no answer!";
        exit(0);
    }
    minx=a[n-1]-a[0];
    int j=0;
    for(int i=0;i<n;i++){
        while(j<=n-1&&a[j]-a[i]<k){
            j++;
        }
        if(a[j]-a[i]>=k&&a[j]-a[i]<minx){
            minx=a[j]-a[i];
        }
    }
    cout<<minx<<endl;
    return 0;
}
/**************************************************************
    Problem: 2812
    User: yangrenrui
    Language: C++
    Result: 正确
    Time:123 ms
    Memory:2572 kb
****************************************************************/

相关推荐

  1. 2812: 【算法思想】【指针

    2024-04-12 09:02:03       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-12 09:02:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-12 09:02:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-12 09:02:03       82 阅读
  4. Python语言-面向对象

    2024-04-12 09:02:03       91 阅读

热门阅读

  1. 【class1】python基础

    2024-04-12 09:02:03       30 阅读
  2. Hystrix 简介:容错保护的利器及使用方法简介:

    2024-04-12 09:02:03       31 阅读
  3. 理解ReAct的核心思想

    2024-04-12 09:02:03       35 阅读
  4. 大模型+知识库学习

    2024-04-12 09:02:03       39 阅读
  5. .Net Core/.Net 6/.Net 8,一个简易的消息队列

    2024-04-12 09:02:03       41 阅读
  6. SQL注入sqli_labs靶场第九、十题

    2024-04-12 09:02:03       45 阅读