#include <iostream>
#include <algorithm>
#include <numeric>
//#include <iterator>
int cw(int first, int second) {
const int arr[] = {20, 1, 18, 4, 13, 6, 10, 15, 2, 17, 3, 19, 7, 16, 8, 11, 14, 9, 12, 5};
auto arr_end = std::cend(arr);
auto f = std::find(std::cbegin(arr), arr_end, first);
auto s = std::find(f, arr_end, second);
if (s != arr_end) ++s;
return std::accumulate(f, s, 0,
[](int a, int b){
int res = a + b;
std::cout << a << " + " << b << " = " << res << std::endl;
return res;
}
);
}
int main() {
int res = cw(18, 2);
std::cout << "result = " << res;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8bnVtZXJpYz4KLy8jaW5jbHVkZSA8aXRlcmF0b3I+CgppbnQgY3coaW50IGZpcnN0LCBpbnQgc2Vjb25kKSB7Cgljb25zdCBpbnQgYXJyW10gPSB7MjAsIDEsIDE4LCA0LCAxMywgNiwgMTAsIDE1LCAyLCAxNywgMywgMTksIDcsIDE2LCA4LCAxMSwgMTQsIDksIDEyLCA1fTsKICAgIGF1dG8gYXJyX2VuZCA9IHN0ZDo6Y2VuZChhcnIpOwogICAgYXV0byBmID0gc3RkOjpmaW5kKHN0ZDo6Y2JlZ2luKGFyciksIGFycl9lbmQsIGZpcnN0KTsKICAgIGF1dG8gcyA9IHN0ZDo6ZmluZChmLCBhcnJfZW5kLCBzZWNvbmQpOwogICAgaWYgKHMgIT0gYXJyX2VuZCkgKytzOwogICAgcmV0dXJuIHN0ZDo6YWNjdW11bGF0ZShmLCBzLCAwLAogICAgCVtdKGludCBhLCBpbnQgYil7CiAgICAJCWludCByZXMgPSBhICsgYjsKICAgIAkJc3RkOjpjb3V0IDw8IGEgPDwgIiArICIgPDwgYiA8PCAiID0gIiA8PCByZXMgPDwgc3RkOjplbmRsOwogICAgCQlyZXR1cm4gcmVzOwogICAgCX0KICAgICk7Cn0KCmludCBtYWluKCkgewoJaW50IHJlcyA9IGN3KDE4LCAyKTsKCXN0ZDo6Y291dCA8PCAicmVzdWx0ID0gIiA8PCByZXM7CglyZXR1cm4gMDsKfQ==