- #include <iostream> 
- #include <vector> 
- #include <algorithm> 
-   
- int main() 
- { 
-     std::vector<int> test{5, 3, 8, 4, -1, 1, 11, 9, 6}; 
-     // get the position of -1 
-     auto itr = std::find(test.begin(), test.end(), -1); 
-     // sort all elements so that -1 will be moved to end of vector 
-     std::sort(test.begin(), test.end(), [](const int& lhs, const int& rhs ) 
-         { 
-             if( lhs == -1 ) return false; 
-             if( rhs == -1 ) return true; 
-             return lhs < rhs; 
-         }); 
-   
-     test.erase(test.end()-1);   //  now erase it from end 
-     test.insert(itr, -1);       //  add to the erlier position 
-   
-     for(const auto& it: test) 
-         std::cout << it << " "; 
-   
-     return 0; 
- } 
-   
-   
				I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKaW50IG1haW4oKQp7CiAgICBzdGQ6OnZlY3RvcjxpbnQ+IHRlc3R7NSwgMywgOCwgNCwgLTEsIDEsIDExLCA5LCA2fTsKICAgIC8vIGdldCB0aGUgcG9zaXRpb24gb2YgLTEKICAgIGF1dG8gaXRyID0gc3RkOjpmaW5kKHRlc3QuYmVnaW4oKSwgdGVzdC5lbmQoKSwgLTEpOwogICAgLy8gc29ydCBhbGwgZWxlbWVudHMgc28gdGhhdCAtMSB3aWxsIGJlIG1vdmVkIHRvIGVuZCBvZiB2ZWN0b3IKICAgIHN0ZDo6c29ydCh0ZXN0LmJlZ2luKCksIHRlc3QuZW5kKCksIFtdKGNvbnN0IGludCYgbGhzLCBjb25zdCBpbnQmIHJocyApCiAgICAgICAgewogICAgICAgICAgICBpZiggbGhzID09IC0xICkgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICBpZiggcmhzID09IC0xICkgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIHJldHVybiBsaHMgPCByaHM7CiAgICAgICAgfSk7CgogICAgdGVzdC5lcmFzZSh0ZXN0LmVuZCgpLTEpOyAgIC8vICBub3cgZXJhc2UgaXQgZnJvbSBlbmQKICAgIHRlc3QuaW5zZXJ0KGl0ciwgLTEpOyAgICAgICAvLyAgYWRkIHRvIHRoZSBlcmxpZXIgcG9zaXRpb24KCiAgICBmb3IoY29uc3QgYXV0byYgaXQ6IHRlc3QpCiAgICAgICAgc3RkOjpjb3V0IDw8IGl0IDw8ICIgIjsKCiAgICByZXR1cm4gMDsKfQoK