10031 求比target大的第一个数

题目描述

输入一个n和一个整数target,接下来输入一个n个数,这n个数递增排列,把这n个数输入到一个数组当中,求第一个比target的大的整数,如果不存在输出-1

输入格式

输入一个n和一个整数target,接下来输入n个数,n个数递增

输出格式

输出第一个比target大的数, 不存在则输出-1

样例

输入 #1

5 100
67 98 99 102 200
输出 #1

102
数据范围与提示

请使用二分法实现

分类标签

[二分]

C++题解代码

#include <bits/stdc++.h>
using namespace std;

int a;
int c;
int b;


int main() {
  cin>>a;
  cin>>b;
  for (int i = 1; i <= a; i++) {
    cin>>c;
    if (c > b) {
      cout<<c;
      return 0;
    }
  }
  cout<<-1;
  return 0;
}

Blockly题解代码图片