2022.05.22

bin1225·2022년 5월 22일
0

c++ 알고리즘

목록 보기
8/35
post-thumbnail
  1. 이분검색
int main(){

	//freopen("input.txt","rt",stdin);
	
	int n,m,tmp;
	vector<int> numbers;
	cin>>n>>m;
	for(int i=0; i<n; i++){
		cin>>tmp;
		numbers.push_back(tmp);
	}
	sort(numbers.begin(),numbers.end());
	
	tmp=0;
	int middle;
	int target=0;
	int left =0; 
	int right = n-1;
	while(1){
		middle = (left+right)/2;
		target = numbers[middle];
		if(target>m){
			right=middle;
		}
		else if(target<m){
			left=middle;
		}
		else if(target==m){
			break;
		}
	}
	
	cout<<middle+1;
	
	return 0;
	
}

0개의 댓글