1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #include <iostream> #include <vector> #include <numeric> #include <iomanip> std::vector<std::vector<int> > sums(int array[], int size) { std::vector<std::vector<int> > result(size - 1); //build the two element sums for(int *p = array; p - array < size - 1; ++p) result[0].push_back(std::accumulate(p, p + 2, 0)); //build the rest of the sums for(int i = 1; i < size - 1; ++i) for(int j = 0; j < size - (i + 1); ++j) result[i].push_back(result[i - 1][j] + array[i + j + 1]); return result; } int main() { int array[] = {1, 2, 3, 4, 5}; for(int i = 0; i < sizeof(array)/sizeof(*array); ++i) { std::cout << std::setw(3) << array[i]; } std::cout << std::endl; std::vector<std::vector<int> > v = sums(array, sizeof(array)/sizeof(*array)); for(int i = 0; i < v.size(); ++i) { for(int j = 0; j < v[i].size(); ++j) std::cout << std::setw(3) << v[i][j]; std::cout << std::endl; } } |
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8bnVtZXJpYz4KI2luY2x1ZGUgPGlvbWFuaXA+CgpzdGQ6OnZlY3RvcjxzdGQ6OnZlY3RvcjxpbnQ+ID4gc3VtcyhpbnQgYXJyYXlbXSwgaW50IHNpemUpCnsKICAgICAgICBzdGQ6OnZlY3RvcjxzdGQ6OnZlY3RvcjxpbnQ+ID4gcmVzdWx0KHNpemUgLSAxKTsKICAgICAgICAvL2J1aWxkIHRoZSB0d28gZWxlbWVudCBzdW1zCiAgICAgICAgZm9yKGludCAqcCA9IGFycmF5OyBwIC0gYXJyYXkgPCBzaXplIC0gMTsgKytwKQogICAgICAgICAgICAgICAgcmVzdWx0WzBdLnB1c2hfYmFjayhzdGQ6OmFjY3VtdWxhdGUocCwgcCArIDIsIDApKTsKICAgICAgICAvL2J1aWxkIHRoZSByZXN0IG9mIHRoZSBzdW1zCiAgICAgICAgZm9yKGludCBpID0gMTsgaSA8IHNpemUgLSAxOyArK2kpCiAgICAgICAgICAgICAgICBmb3IoaW50IGogPSAwOyBqIDwgc2l6ZSAtIChpICsgMSk7ICsraikKICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0W2ldLnB1c2hfYmFjayhyZXN1bHRbaSAtIDFdW2pdICsgYXJyYXlbaSArIGogKyAxXSk7CiAgICAgICAgcmV0dXJuIHJlc3VsdDsKfQoKaW50IG1haW4oKQp7CiAgICAgICAgaW50IGFycmF5W10gPSB7MSwgMiwgMywgNCwgNX07CiAgICAgICAgZm9yKGludCBpID0gMDsgaSA8IHNpemVvZihhcnJheSkvc2l6ZW9mKCphcnJheSk7ICsraSkKICAgICAgICB7CiAgICAgICAgICAgICAgICBzdGQ6OmNvdXQgPDwgc3RkOjpzZXR3KDMpIDw8IGFycmF5W2ldOwogICAgICAgIH0KICAgICAgICBzdGQ6OmNvdXQgPDwgc3RkOjplbmRsOwogICAgICAgIHN0ZDo6dmVjdG9yPHN0ZDo6dmVjdG9yPGludD4gPiB2ID0gc3VtcyhhcnJheSwgc2l6ZW9mKGFycmF5KS9zaXplb2YoKmFycmF5KSk7CiAgICAgICAgZm9yKGludCBpID0gMDsgaSA8IHYuc2l6ZSgpOyArK2kpCiAgICAgICAgewogICAgICAgICAgICAgICAgZm9yKGludCBqID0gMDsgaiA8IHZbaV0uc2l6ZSgpOyArK2opCiAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6Y291dCA8PCBzdGQ6OnNldHcoMykgPDwgdltpXVtqXTsKICAgICAgICAgICAgICAgIHN0ZDo6Y291dCA8PCBzdGQ6OmVuZGw7CiAgICAgICAgfQp9
-
upload with new input
-
result: Success time: 0.02s memory: 2860 kB returned value: 0
1 2 3 4 5 3 5 7 9 6 9 12 10 14 15


