首页 > 解决方案 > 苹果事业部 CSES Qustion 解决方案

问题描述

所以这是问题的链接https://cses.fi/problemset/task/1623。这个代码片段是什么意思?:-

for (int i = 0; i < 1 << n; ++i)
{
    ll cs = 0;
    for (int j = 0; j < n; ++j)
        if (i >> j & 1)
            cs += p[j];
    if (cs <= s / 2)
        ans = max(ans, cs);
}

提前致谢。

标签: c++operatorsbitexplain

解决方案


它遍历数组的所有可能组合,并找到最接近总和一半的总和。


推荐阅读