Submission #1219597

#TimeUsernameProblemLanguageResultExecution timeMemory
1219597LucaIlieIce Hockey World Championship (CEOI15_bobek)C++20
100 / 100
317 ms8620 KiB
#include <bits/stdc++.h> using namespace std; const int MAX_N = 40; long long v[MAX_N]; vector<long long> costs; int main() { int n; long long m; cin >> n >> m; for (int i = 0; i < n; i++) cin >> v[i]; int k = n / 2; for (int mask = 0; mask < (1 << k); mask++) { long long c = 0; for (int i = 0; i < k; i++) c += v[i] * ((mask >> i) & 1); costs.push_back(c); } sort(costs.begin(), costs.end()); long long ans = 0; for (int mask = 0; mask < (1 << (n - k)); mask++) { long long c = 0; for (int i = 0; i < n - k; i++) c += v[i + k] * ((mask >> i) & 1); ans += upper_bound(costs.begin(), costs.end(), m - c) - costs.begin(); } cout << ans << "\n"; return 0; }
#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...