제출 #1190485

#제출 시각아이디문제언어결과실행 시간메모리
1190485jayssIce Hockey World Championship (CEOI15_bobek)C++20
40 / 100
1096 ms20892 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long

int A[41], limit, n;
vector<int> L, R;
void sol(int l, int r, int k, vector<int> &v) {
    if (k > limit) return;
    if (r == l) {
        v.push_back(k);
        return;
    }
    sol(l, r - 1, k, v);
    sol(l, r - 1, k + A[r], v);
}

signed main() {
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    cin >> n >> limit;
    for (int i = 1;i <= n;i++) cin >> A[i];
    int m = (1 + n) / 2;
    sol(1 - 1, m, 0, L);
    sol(m + 1 - 1, n, 0, R);
    sort(R.begin(), R.end());
    int cnt = 0;
    for (int x : L) {
        for (int y : R) {
            if (x + y <= limit) cnt++;
            else break;
        }
    }
    cout << cnt;
    /* for (int x : L) cout << x << ' ';
    cout << '\n';
    for (int x : R) cout << x << ' '; */

    return 0;
}
/*
5 1000
100 1500 500 500 1000
*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...