CSES Meet in the Middle
// compile: make data
// run: time ./data < data.in
#include <bits/stdc++.h>
using namespace std;
// #pragma GCC optimize("O3,unroll-loops")
// #pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
#ifdef LOCAL
#include <debug/codeforces.h>
#define debug(x...) _debug_print(#x, x);
#define Debug(x...) _debug_print_format(#x, x);
std::ifstream terminal("/dev/tty");
#define PP cerr<<"\033[1;30mpause...\e[0m",terminal.ignore();
#else
#define debug(x...)
#define Debug(x...)
#define PP
#endif
template<typename...Args> void print_(Args...args){((cout<<args<<" "),...)<<endl;}
#define rep(i,a,b) for(int i=(a);i<(int)(b);++i)
#define sz(v) ((int)(v).size())
#define print(...) print_(__VA_ARGS__);
#define FIND(a, x) ((find(a.begin(),a.end(),(x))!=a.end())?1:0)
#define cmin(x,...) x=min({(x),__VA_ARGS__})
#define cmax(x,...) x=max({(x),__VA_ARGS__})
#define INTMAX (int)(9223372036854775807)
#define INF (int)(1152921504606846976)
#define NaN (int)(0x8b88e1d0595d51d1)
#define double long double
#define int long long
#define uint unsigned long long
#define MAXN 200010

int32_t main() {
    ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);

    int n, m; cin >> n >> m;
    vector<int> a(n/2), b(n - n/2);
    rep(i, 0, n/2) cin >> a[i];
    rep(i, 0, n - n/2) cin >> b[i];
    unordered_map<int, int> L;
    int ans = 0;
    rep(mask, 0, 1<<(sz(a))) {
        int sum = 0;
        rep(i, 0, sz(a)) if (mask & (1<<i)) sum += a[i];
        if (sum > m) continue;
        ++L[sum];
    }
    rep(mask, 0, 1<<(sz(b))) {
        int sum = 0;
        rep(i, 0, sz(b)) if (mask & (1<<i)) sum += b[i];
        if (sum > m) continue;
        auto it = L.find(m - sum);
        if (it == L.end()) continue;
        ans += it->second;
    }
    cout << ans << endl;

    return 0;
}

Comments

  1. 4 months ago
    2025-12-06 2:25:00

    Downloaded the td777apk and it runs smooth. Games are decent, and the interface is clean. Not the worst way to spend an evening. td777apk

  2. 3 months ago
    2025-12-19 13:39:57

    Been using ggwinbet for a while now. Solid place to bet, good odds and prompt payouts. Try this: ggwinbet

  3. 3 months ago
    2025-12-29 6:08:11

    Been playing on 165bet for a couple of weeks now. Pretty standard experience. A lot of offers for loyal customers. Give it a try: 165bet

  4. 2 months ago
    2026-2-02 12:25:30

    Excellent demonstration of meet-in-the-middle optimization! Splitting the array reduces time complexity from O(2ⁿ) to O(2^(n/2)), a technique I also apply when analyzing gaming algorithms at jljl13 casino. The hashmap approach for counting valid subset sums is particularly elegant for handling large search spaces efficiently.

  5. 3 days ago
    2026-3-18 11:27:33

    Been meaning to check out ‘play do’ for a while now. I finally did, and it’s not bad at all. Easy to pick up and play. My go-to game now. Let’s Play Do It play do

  6. 3 days ago
    2026-3-18 11:27:49

    Easy peasy registration process over at Superjili! Took me like, two minutes to get set up. Now I’m in the game. If you’re looking to register fast, this is the spot: superjili register

  7. 3 days ago
    2026-3-18 11:28:04

    Easy to log in to 2ez bet. A simple and fast log in is important to me. Give it a shot if you are looking for sports bets. 2ez bet log in.

Send Comment Edit Comment


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
Previous
Next