#include <iostream>
#include <algorithm>
#include <vector>
#include <list>
template <typename TContainer>
TContainer fill(typename TContainer::value_type start,
typename TContainer::value_type step,
typename TContainer::value_type end) {
size_t size = static_cast<size_t>((end - start)/step + 1);
TContainer output(size);
std::generate(std::begin(output), std::end(output),
[&start, step]() {
auto temp = start; start += step; return temp;
}
);
return output;
}
int main() {
auto vec = fill<std::vector<int>>(0, 2, 10);
std::cout << "vec: ";
for (auto i : vec) {
std::cout << i << ", ";
}
std::cout << std::endl;
auto list = fill<std::list<float>>(1, 0.3, 5);
std::cout << "list: ";
for (auto f : list) {
std::cout << f << ", ";
}
std::cout << std::endl;
// your code goes here
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8bGlzdD4KCiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVENvbnRhaW5lcj4KICAgIFRDb250YWluZXIgZmlsbCh0eXBlbmFtZSBUQ29udGFpbmVyOjp2YWx1ZV90eXBlIHN0YXJ0LCAKICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBUQ29udGFpbmVyOjp2YWx1ZV90eXBlIHN0ZXAsIAogICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIFRDb250YWluZXI6OnZhbHVlX3R5cGUgZW5kKSB7CiAgICAgICAgc2l6ZV90IHNpemUgPSBzdGF0aWNfY2FzdDxzaXplX3Q+KChlbmQgLSBzdGFydCkvc3RlcCArIDEpOwogICAgICAgIFRDb250YWluZXIgb3V0cHV0KHNpemUpOwogICAgICAgIHN0ZDo6Z2VuZXJhdGUoc3RkOjpiZWdpbihvdXRwdXQpLCBzdGQ6OmVuZChvdXRwdXQpLCAKICAgICAgICAgICAgWyZzdGFydCwgc3RlcF0oKSB7IAogICAgICAgICAgICAgICAgYXV0byB0ZW1wID0gc3RhcnQ7IHN0YXJ0ICs9IHN0ZXA7IHJldHVybiB0ZW1wOwogICAgICAgICAgICB9CiAgICAgICAgKTsKICAgICAgICByZXR1cm4gb3V0cHV0OwogICAgfQoKCgppbnQgbWFpbigpIHsKCQoJCglhdXRvIHZlYyA9IGZpbGw8c3RkOjp2ZWN0b3I8aW50Pj4oMCwgMiwgMTApOwoJc3RkOjpjb3V0IDw8ICJ2ZWM6ICI7Cglmb3IgKGF1dG8gaSA6IHZlYykgewoJCXN0ZDo6Y291dCA8PCBpIDw8ICIsICI7Cgl9CglzdGQ6OmNvdXQgPDwgc3RkOjplbmRsOwoJCglhdXRvIGxpc3QgPSBmaWxsPHN0ZDo6bGlzdDxmbG9hdD4+KDEsIDAuMywgNSk7CglzdGQ6OmNvdXQgPDwgImxpc3Q6ICI7Cglmb3IgKGF1dG8gZiA6IGxpc3QpIHsKCQlzdGQ6OmNvdXQgPDwgZiA8PCAiLCAiOwoJfQoJc3RkOjpjb3V0IDw8IHN0ZDo6ZW5kbDsKCQoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJcmV0dXJuIDA7Cn0=
vec: 0, 2, 4, 6, 8, 10,
list: 1, 1.3, 1.6, 1.9, 2.2, 2.5, 2.8, 3.1, 3.4, 3.7, 4, 4.3, 4.6, 4.9,