#include <random>
#include <algorithm>
#include <iterator>
#include <iostream>
#include <vector>
#include <functional>
using namespace std;
int main() {
const size_t size = 10;
const int gen_min = -99;
const int gen_max = 99;
mt19937 engine {random_device()()};
uniform_int_distribution<int> dist {gen_min, gen_max};
vector<int> vA(size); vector<int> vB;
generate(begin(vA), end(vA), bind(dist, engine));
cout << "A:\n"; copy(begin(vA), end(vA), ostream_iterator<int>(cout, " "));
copy_if(max_element(begin(vA), end(vA)), end(vA), back_inserter(vB), bind2nd(greater<int>(), 0));
cout << "\nB:\n"; copy(begin(vB), end(vB), ostream_iterator<int>(cout, " "));
}