两个变量n,m,分别为演员数量和电影数量。
接下来两行输入演员期待片酬以及参演该电影所能获得薪酬。
要求输出大于等于演员期待片酬的电影数量
思路:
lower_bound二分查找大于等于演员片酬的位置,以m减去相应位置得到电影数量。
代码:
#include using namespace std; int n,m; int main() { int T; cin>>T; while(T--) { cin>>n>>m; vector actors(n); vector movies(m); int i ; for(i = 0;i < n;i++) { int a; cin>>a; actors[i] = a; } for(i = 0;i < m;i++) { int a; cin>>a; movies[i] = a; } for(i = 0;i < n;i++) { int a = actors[i]; cout<<m-((lower_bound(movies.begin(),movies.end(),a))-movies.begin())<<' '; } cout<<endl; } return 0; } /* 1 3 6 33 66 99 99 66 33 2 3 10 30 60 90 */
全部评论
(0) 回帖