社区讨论

#1-WA,#6-TLE

P2249【深基13.例1】查找参与者 3已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@m0t0406t
此快照首次捕获于
2024/09/08 11:15
2 年前
此快照最后确认于
2025/11/04 21:33
4 个月前
查看原帖
CPP
#include <stdio.h>
int n , m , q , a[1000001] ;
int find ( int x ) {
	int l = 1 , r = n ;
	while ( l <= r ) {
		int mid = (l+r)>>1 ;
		if ( a[mid] == x ) return mid ;
		else if ( a[mid] < x ) l = mid+1 ;
		else r = mid-1 ;
	}
	return -1 ;
}
int main () {
	scanf ( "%d%d" , &n , &m ) ;
	for ( int i = 1 ; i <= n ; i++ ) scanf ( "%d" , &a[i] ) ;
	while ( m-- ) {
		scanf ( "%d" , &q ) ;
		int i = find( q ) ;
		if ( i != -1 ) while( a[i-1] == a[i] ) i-- ;
		printf ( "%d " , i ) ;
	}
	return 0 ;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...