P1801 黑匣子_NOI導刊2010提高(06)

1522713-20190823184956031-863100883.png
1522713-20190823185010514-895674494.png

代碼存檔

#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;
}

溜了溜了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章