#include <iostream>
using namespace std;
class myVector
{
int* vector_;
int size_;
public:
myVector() : size_(0), vector_(nullptr)
{}
~myVector() {
delete vector_;
}
int size() const {
return size_;
}
int operator[](int i) const {
return vector_[i];
}
void pushBack(int data)
{
int* tmp = new int[size_ + 1];
for (int i = 0; i < size_; i++)
tmp[i] = vector_[i];
tmp[size_] = data;
delete vector_;
vector_ = tmp;
++size_;
}
};
int main() {
myVector vec;
vec.pushBack(10);
vec.pushBack(2);
vec.pushBack(7);
for(int i = 0; i < vec.size(); ++i)
cout << vec[i] << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgbXlWZWN0b3IKewogICAgaW50KiB2ZWN0b3JfOwogICAgaW50IHNpemVfOwpwdWJsaWM6CiAgICBteVZlY3RvcigpIDogc2l6ZV8oMCksIHZlY3Rvcl8obnVsbHB0cikKICAgIHt9CiAgICAKICAgIH5teVZlY3RvcigpIHsKICAgIAlkZWxldGUgdmVjdG9yXzsKICAgIH0KICAgIAogICAgaW50IHNpemUoKSBjb25zdCB7CiAgICAJcmV0dXJuIHNpemVfOwogICAgfQogICAgCiAgICBpbnQgb3BlcmF0b3JbXShpbnQgaSkgY29uc3QgewogICAgCXJldHVybiB2ZWN0b3JfW2ldOwogICAgfQogICAgCiAgICB2b2lkIHB1c2hCYWNrKGludCBkYXRhKQogICAgewogICAgICAgIGludCogdG1wID0gbmV3IGludFtzaXplXyArIDFdOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgc2l6ZV87IGkrKykKICAgICAgICAgICAgdG1wW2ldID0gdmVjdG9yX1tpXTsKICAgICAgICB0bXBbc2l6ZV9dID0gZGF0YTsKICAgICAgICBkZWxldGUgdmVjdG9yXzsKICAgICAgICB2ZWN0b3JfID0gdG1wOwogICAgICAgICsrc2l6ZV87CiAgICB9Cn07CgppbnQgbWFpbigpIHsKCW15VmVjdG9yIHZlYzsKCXZlYy5wdXNoQmFjaygxMCk7Cgl2ZWMucHVzaEJhY2soMik7Cgl2ZWMucHVzaEJhY2soNyk7CgoJZm9yKGludCBpID0gMDsgaSA8IHZlYy5zaXplKCk7ICsraSkKCQljb3V0IDw8IHZlY1tpXSA8PCBlbmRsOwoJCglyZXR1cm4gMDsKfQ==