제출 #1174055

#제출 시각아이디문제언어결과실행 시간메모리
1174055Dan4LifeIce Hockey World Championship (CEOI15_bobek)C++20
100 / 100
175 ms20892 KiB
#include <bits/stdc++.h> using namespace std; #define pb push_back #define sz(a) (int)a.size() #define all(a) begin(a),end(a) using ll = long long; int n; ll m, ans, tot, a[50]; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); cin >> n >> m; vector<ll> v, w; for(int i = 0; i < n; i++) cin >> a[i]; sort(a,a+n); int xd = n/2; for(ll mask = 0; mask < (1ll<<(n-xd)); mask++){ ll cost = 0; for(int i = 0; i < n-xd; i++) cost+=(mask>>i&1)*a[xd+i]; if(cost<=m) w.pb(cost); } for(ll mask = 0; mask < (1ll<<xd); mask++){ ll cost = 0; for(int i = 0; i < xd; i++) cost+=(mask>>i&1)*a[i]; if(cost<=m) v.pb(-cost); } sort(all(v)); sort(all(w)); int j = 0; for(int i = 0; i < sz(v); i++){ while(j<sz(w) and w[j]<=m+v[i]) j++; ans+=j; } cout << ans << "\n"; }
#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...