제출 #1110611

#제출 시각아이디문제언어결과실행 시간메모리
1110611kasdoIce Hockey World Championship (CEOI15_bobek)C++14
100 / 100
336 ms10852 KiB
#include <bits/stdc++.h> using namespace std; #define int long long const int maxn = 45; vector<int> v; int n, m; int a[maxn]; int mid; int ans = 0; void rec(int i, int sum) { if (i == mid) { v.push_back(sum); return; } rec(i + 1, sum); rec(i + 1, sum + a[i]); } void rec2(int i, int sum) { if (i == mid - 1) { int idx = upper_bound(v.begin(), v.end(), m - sum) - v.begin(); // cout<<sum<<" "<<idx<<endl; ans += idx; return; } rec2(i - 1, sum); rec2(i - 1, sum + a[i]); } signed main() { cin>>n>>m; for(int i=0; i<n; i++) cin>>a[i]; mid = (n + 1) / 2; rec(0, 0); sort(v.begin(), v.end()); // for(auto i : v) cout<<i<<" "; // cout<<endl; rec2(n - 1, 0); cout<<ans<<endl; 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...