π§ μ½λ©ν
μ€νΈ
[μΈνλ° C++] 42. μ΄λΆκ²μ(μ΄μ§ νμ)
peewoong
2024. 5. 7. 20:46
π§ λ¬Έμ
μμμ Nκ°μ μ«μκ° μ λ ₯μΌλ‘ μ£Όμ΄μ§λλ€.
Nκ°μ μλ₯Ό μ€λ¦μ°¨μμΌλ‘ μ λ ¬ν λ€μ Nκ°μ μ μ€ ν κ°μ μμΈ Mμ΄ μ£Όμ΄μ§λ©΄ μ΄λΆκ²μμΌλ‘ Mμ΄ μ λ ¬λ μνμμ λͺ λ²μ§Έμ μλμ§ κ΅¬νλ νλ‘κ·Έλ¨μ μμ±νμΈμ.
β¨ 1νΈ (μ±κ³΅)
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(void){
freopen("input.txt", "rt", stdin);
int n, m;
cin >> n >> m;
vector<int> a(n);
for(int i = 0; i < n; ++i){
cin >> a[i];
}
sort(a.begin(), a.end());
int left = 0;
int right = n-1;
int mid;
while(left <= right){
mid = (left + right) / 2;
if(a[mid] == m){
cout << mid + 1;
break;
}
else if(a[mid] > m){
right = mid - 1;
}
else{
left = mid + 1;
}
}
return 0;
}