题目
LYA 的班级要进行一次班级活动,全班同学按照学号从小到大排成一列。但是卢小姐来晚了,没有来得及排队。现在卢小姐想知道,她应该插入到队列的哪个位置,才能保证队列仍然是按照学号从小到大排列的。请你帮助卢小姐找到她应该插入的位置。
题目输入
第一行输入一个整数 n,表示已经排好队的同学人数。
第二行输入n个整数,表示已经排好队的同学的学号,以空格分隔。
第三行输入一个整数k,表示卢小姐的学号。
题目输出
输出一个整数,表示卢小姐应该插入的位置(从 1 开始编号)。
实例
样例输入
7
93 95 97 100 102 123 155
110
样例输出
6
题目解析
题目
题目代码
//100%,也可以使用二分法
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
int val;
vector<int> nums;
while(cin >> val){
nums.push_back(val);
if(cin.peek() == '\n') break;
}
int name;
cin >> name;
sort(nums.begin(), nums.end());
auto it = lower_bound(nums.begin(), nums.end(), name);
if(it != nums.end()){
cout << it - nums.begin() + 1 << endl;
return 0;
}
cout << nums.size() + 1;
return 0;
}