Submission #1121556

#TimeUsernameProblemLanguageResultExecution timeMemory
1121556AtabayRajabliIce Hockey World Championship (CEOI15_bobek)C++17
10 / 100
324 ms8712 KiB
#include <bits/stdc++.h> #define all(v) v.begin(), v.end() #define int long long using namespace std; signed main() { ios_base::sync_with_stdio(0); cin.tie(0); int n, m; cin >> n >> m; int a[n]; for(int i = 0; i < n; i++) { cin >> a[i]; } if(n == 1) { if(a[0] <= m) cout << 2; else cout << 1; return 0; } vector<int> v; for(int i = 0; i < (1 << (n / 2)); i++) { int s = 0; for(int j = 0; j < n / 2; j++) { if((1 << j) & i) s += a[j]; } if(s <= m) { v.push_back(s); } } sort(all(v)); v.erase(unique(all(v)), v.end()); int ans = 1; for(int i = 0; i < (1 << (n - n / 2)); i++) { int s = 0; for(int j = n / 2; j < n; j++) { if((1 << (j - n / 2)) & i) s += a[j]; } if(s <= m) { ans += upper_bound(all(v), m - s) - v.begin(); } } cout << ans; }
#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...