#include <iostream>
#include <vector>
#include <chrono>

void build(std::vector<double>& data, const size_t size){
	const auto start{std::chrono::system_clock::now()};
	void* ptr{data.data()};
	for(size_t i{1};i<=size;++i){
		data.push_back((std::chrono::system_clock::now()-start).count());
		if(data.data()!=ptr){
			ptr=data.data();
			std::cout << i << ' ' << ptr << ' ' << data.capacity() << std::endl;
		}
	}
}

int main() {
	size_t size{100000000L};
	
	std::cout << ((size*sizeof(double))/1024/1024) << " MiB" << std::endl;
	
	std::vector<double> data{};
	
	build(data,size);
	
	double sum{0};
	for(auto curr : data){
		sum+=curr;
	}
	std::cout << sum << std::endl;
	return 0;
}