#include <iostream>
#include <array>
#include <iterator>
#include <random>
#include <algorithm>
template< class Iter >
void fill_with_random_int_values( Iter start, Iter end, int min, int max)
{
static std::random_device rd; // you only need to initialize it once
static std::mt19937 mte(rd()); // this is a relative big object to create
std::uniform_int_distribution<int> dist(min, max);
std::generate(start, end, [&] () { return dist(mte); });
}
int main()
{
std::array<int, 10> a;
fill_with_random_int_values(a.begin(), a.end(), 0, 1000);
for ( int i : a ) std::cout << i << ' ';
std::cout << '\n';
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YXJyYXk+CiNpbmNsdWRlIDxpdGVyYXRvcj4KI2luY2x1ZGUgPHJhbmRvbT4KI2luY2x1ZGUgPGFsZ29yaXRobT4KCnRlbXBsYXRlPCBjbGFzcyBJdGVyID4Kdm9pZCBmaWxsX3dpdGhfcmFuZG9tX2ludF92YWx1ZXMoIEl0ZXIgc3RhcnQsIEl0ZXIgZW5kLCBpbnQgbWluLCBpbnQgbWF4KQp7CiAgICBzdGF0aWMgc3RkOjpyYW5kb21fZGV2aWNlIHJkOyAJIC8vIHlvdSBvbmx5IG5lZWQgdG8gaW5pdGlhbGl6ZSBpdCBvbmNlCiAgICBzdGF0aWMgc3RkOjptdDE5OTM3IG10ZShyZCgpKTsgICAvLyB0aGlzIGlzIGEgcmVsYXRpdmUgYmlnIG9iamVjdCB0byBjcmVhdGUKICAgIAogICAgc3RkOjp1bmlmb3JtX2ludF9kaXN0cmlidXRpb248aW50PiBkaXN0KG1pbiwgbWF4KTsKCiAgICBzdGQ6OmdlbmVyYXRlKHN0YXJ0LCBlbmQsIFsmXSAoKSB7IHJldHVybiBkaXN0KG10ZSk7IH0pOwp9CgppbnQgbWFpbigpCnsKCXN0ZDo6YXJyYXk8aW50LCAxMD4gYTsKCiAgICBmaWxsX3dpdGhfcmFuZG9tX2ludF92YWx1ZXMoYS5iZWdpbigpLCBhLmVuZCgpLCAwLCAxMDAwKTsKICAgIAogICAgZm9yICggaW50IGkgOiBhICkgc3RkOjpjb3V0IDw8IGkgPDwgJyAnOwogICAgc3RkOjpjb3V0IDw8ICdcbic7Cn0=