#include <iostream>
#include <functional>
struct Data {
size_t d_size;
double *d_data;
Data(size_t size) : d_size(size), d_data(new double[size]) {}
~Data() { delete[] d_data; }
double &operator[](size_t i) { return d_data[i]; }
};
int main() {
size_t len = 50000000;
Data im(len);
for (size_t index = 0; index != len; ++index)
im[index] = static_cast<double>(index);
double sum = 0;
for (size_t index = 0; index != len; ++index)
sum += im[index];
std::cout << sum << '\n';
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnVuY3Rpb25hbD4KCnN0cnVjdCBEYXRhIHsKICBzaXplX3QgZF9zaXplOwogIGRvdWJsZSAqZF9kYXRhOwogIERhdGEoc2l6ZV90IHNpemUpIDogZF9zaXplKHNpemUpLCBkX2RhdGEobmV3IGRvdWJsZVtzaXplXSkge30KICB+RGF0YSgpIHsgZGVsZXRlW10gZF9kYXRhOyB9CiAgZG91YmxlICZvcGVyYXRvcltdKHNpemVfdCBpKSB7IHJldHVybiBkX2RhdGFbaV07IH0KfTsKCgoKaW50IG1haW4oKSB7CiAgc2l6ZV90IGxlbiA9IDUwMDAwMDAwOwogIERhdGEgaW0obGVuKTsKICBmb3IgKHNpemVfdCBpbmRleCA9IDA7IGluZGV4ICE9IGxlbjsgKytpbmRleCkKICAgIGltW2luZGV4XSA9IHN0YXRpY19jYXN0PGRvdWJsZT4oaW5kZXgpOwogIAogIGRvdWJsZSBzdW0gPSAwOwogIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggIT0gbGVuOyArK2luZGV4KQogICAgc3VtICs9IGltW2luZGV4XTsKICAKICBzdGQ6OmNvdXQgPDwgc3VtIDw8ICdcbic7Cn0=