#include <iostream>
#include <array>
#include <algorithm>
#include <numeric>
template <typename T, typename ... AT>
int sumMatched (T A, AT ... args)
{
std::array <T, sizeof ... (AT)> nums { args ... };
auto bg { std::begin (nums) }, ed { std::end (nums) }, res = std::find (bg, ed, A);
return std::accumulate (
ed == res ? bg : ed == (res = std::find (++res, ed, A)) ? bg : ++res,
ed, T {});
}
int main ()
{
int A = 1, x1 = 1, x2 = 1, x3 = 3; //допишешь сам сколько надо переменных
std::cout << sumMatched (A, x1, x2, x3) << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YXJyYXk+CiNpbmNsdWRlIDxhbGdvcml0aG0+CiNpbmNsdWRlIDxudW1lcmljPgoKdGVtcGxhdGUgPHR5cGVuYW1lIFQsIHR5cGVuYW1lIC4uLiBBVD4KaW50IHN1bU1hdGNoZWQgKFQgQSwgQVQgLi4uIGFyZ3MpCnsKCXN0ZDo6YXJyYXkgPFQsIHNpemVvZiAuLi4gKEFUKT4gbnVtcyB7IGFyZ3MgLi4uIH07CglhdXRvIGJnIHsgc3RkOjpiZWdpbiAobnVtcykgfSwgZWQgeyBzdGQ6OmVuZCAobnVtcykgfSwgcmVzID0gc3RkOjpmaW5kIChiZywgZWQsIEEpOwoJcmV0dXJuIHN0ZDo6YWNjdW11bGF0ZSAoCgkJZWQgPT0gcmVzID8gYmcgOiBlZCA9PSAocmVzID0gc3RkOjpmaW5kICgrK3JlcywgZWQsIEEpKSA/IGJnIDogKytyZXMsCgllZCwgVCB7fSk7Cn0KCmludCBtYWluICgpCnsKCWludCBBID0gMSwgeDEgPSAxLCB4MiA9IDEsIHgzID0gMzsgLy/QtNC+0L/QuNGI0LXRiNGMINGB0LDQvCDRgdC60L7Qu9GM0LrQviDQvdCw0LTQviDQv9C10YDQtdC80LXQvdC90YvRhQoJc3RkOjpjb3V0IDw8IHN1bU1hdGNoZWQgKEEsIHgxLCB4MiwgeDMpIDw8IHN0ZDo6ZW5kbDsKCglyZXR1cm4gMDsKfQ==