#include<set>
#include<vector>
#include<utility>
using namespace std;
void slidingwindow_bst( vector< int > array, vector< int > & minv, vector< int > & maxv) {
// (value, pos) 쌍으로 저장
// C++ pair의 기본 less 연산은 앞에 오는 원소를 먼저 비교함 :)
set< pair< int , int > > bst;
int i;
for ( i = 0 ; i < K; ++ i)
bst.insert ( make_pair( array[ i] , i) ) ;
minv.push_back ( bst.begin ( ) - > first ) ;
maxv.push_back ( bst.rbegin ( ) - > first ) ;
for ( i = K; i < array.size ( ) ; ++ i) {
bst.erase ( make_pair( arrray[ i - K] , i- K ) ;
bst.insert ( make_pair( array[ i] , i ) ;
minv.push_back ( bst.begin ( ) - > first ) ;
maxv.push_back ( bst.rbegin ( ) - > first ) ;
}
}
I2luY2x1ZGU8c2V0PgojaW5jbHVkZTx2ZWN0b3I+CiNpbmNsdWRlPHV0aWxpdHk+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIHNsaWRpbmd3aW5kb3dfYnN0KHZlY3RvcjxpbnQ+IGFycmF5LCB2ZWN0b3I8aW50PiAmbWludiwgdmVjdG9yPGludD4gJm1heHYpewoJLy8gKHZhbHVlLCBwb3MpIOyMjeycvOuhnCDsoIDsnqUKCS8vIEMrKyBwYWly7J2YIOq4sOuzuCBsZXNzIOyXsOyCsOydgCDslZ7sl5Ag7Jik64qUIOybkOyGjOulvCDrqLzsoIAg67mE6rWQ7ZWoIDopCglzZXQ8cGFpcjxpbnQsIGludD4gPiBic3Q7CglpbnQgaTsKCWZvcihpID0gMDsgaSA8IEs7ICsraSkKCQlic3QuaW5zZXJ0KCBtYWtlX3BhaXIoYXJyYXlbaV0sIGkpICk7CgoJbWludi5wdXNoX2JhY2soIGJzdC5iZWdpbigpIC0+IGZpcnN0ICk7CgltYXh2LnB1c2hfYmFjayggYnN0LnJiZWdpbigpIC0+IGZpcnN0ICk7CgoJZm9yKGkgPSBLOyBpIDwgYXJyYXkuc2l6ZSgpOyArK2kpewoJCWJzdC5lcmFzZSggbWFrZV9wYWlyKCBhcnJyYXlbaSAtIEtdLCBpLUsgKTsKCQlic3QuaW5zZXJ0KG1ha2VfcGFpciggYXJyYXlbaV0gICAgICwgaSAgICk7CgkJbWludi5wdXNoX2JhY2soIGJzdC5iZWdpbigpIC0+IGZpcnN0ICk7CgkJbWF4di5wdXNoX2JhY2soIGJzdC5yYmVnaW4oKSAtPiBmaXJzdCApOwoJfQp9
compilation info
prog.cpp: In function ‘void slidingwindow_bst(std::vector<int>, std::vector<int>&, std::vector<int>&)’:
prog.cpp:11:17: error: ‘K’ was not declared in this scope
prog.cpp:17:10: error: ‘K’ was not declared in this scope
prog.cpp:17:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
prog.cpp:18:25: error: ‘arrray’ was not declared in this scope
prog.cpp:19:45: error: expected ‘)’ before ‘;’ token
stdout