Cod sursa(job #3229017)

Utilizator ChopinFLazar Alexandru ChopinF Data 12 mai 2024 22:58:35
Problema Oite Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <bits/stdc++.h>

using namespace std;

std::ifstream fin("oite.in");
std::ofstream fout("oite.out");

const int nMax = 1e6;
int n, l;
//vector<int> v[nMax + 1];
vector<int> vec;
int countBits(int n)
{
    if(n == 0)return 0;
    return 1 + countBits(n & (n - 1));
}
int main() {
    fin >> n >> l;
    for (int i = 0; i < n; ++i) {
        int x, cx;
        fin >> x;
       // cx = x;
        vec.push_back(x);
       // x = x % l;
      //  v[x].push_back(cx);
    }
    int ans = 0;
    for (int i = 4; i <= 1024; ++i) {
        if (countBits(i) == 4) { // to check if it has only 4 bits
            //fout << "DA\n";
            int ci = i;
            int s = 0, cnt = 0;
            while (ci != 0) {
                if ((ci % 2) == 1) s += vec[cnt];
                ++cnt;
                ci = ci / 2;
            }
            //fout << s << "\n";
            if (s == l) {
                ++ans;
            }
        }
    }
    fout << ans;
    return 0;
}