社区讨论
#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 条回复,欢迎继续交流。
正在加载回复...