P1801 黑匣子_NOI导刊2010提高(06)
代码存档
#include <bits/stdc++.h>
using namespace std;
multiset<int> s ;
int a[201000] , b[201000] ;
int main() {
multiset<int>::iterator d ;
int m , n ;
scanf("%d%d" , &m , &n) ;
for(int i = 1 ; i <= m ; i ++)
scanf("%d",&a[i]);
for(int i = 1 ; i <= n ; i ++) {
scanf("%d",&b[i]);
if(i == 1) {
for(int j = 1 ; j <= b[1] ; j ++)
s.insert(a[j]) ;
d=s.begin();
printf("%d\n",*d);
}
else {
for(int j=b[i-1] + 1 ; j <= b[i] ; j ++) {
s.insert(a[j]);
if(a[j]<*d)d--;
}
d++;
printf("%d\n",*d);
}
}
return 0;
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步