#include <algorithm>
#include <vector>
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param weights int整型vector
* @param target int整型
* @return int整型vector
*/
vector<int> searchRange(vector<int>& weights, int target) {
// write code here
vector<int> ans;
// 注意weight为降序,所以我们要找小于等于targt的
// 找到第一个小于或等于target的数的下标
int left = lower_bound(weights.begin(),weights.end(),target,greater<int>()) - weights.begin();
// 找到第一个小于target的数的下标
int right = upper_bound(weights.begin(),weights.end(),target,greater<int>()) - weights.begin();
// 证明没有等于target的元素
if(left==right)
{
ans.emplace_back(-1);
ans.emplace_back(-1);
}
else {
ans.emplace_back(left);
ans.emplace_back(right-1);
}
return ans;
}
};