Submission #1190486

#TimeUsernameProblemLanguageResultExecution timeMemory
1190486jayssIce Hockey World Championship (CEOI15_bobek)C++20
100 / 100
309 ms20896 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) { auto it = upper_bound(R.begin(), R.end(), limit - x); int idx = it - R.begin(); //cout << idx << ' '; cnt += idx; } 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...