제출 #1357929

#제출 시각아이디문제언어결과실행 시간메모리
1357929vuhIce Hockey World Championship (CEOI15_bobek)C++20
50 / 100
269 ms20852 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define pb push_back
int n, x;
vector<int> a;
vector<ll> get(int l, int r){
    std::vector<ll> v;
    int len = (r - l + 1);
    for(int i = 0  ; i < (1 << len);i ++){
        ll sum = 0;
        for(int j = 0; j < len; j ++){
            if(i & (1 << j)){
                sum += a[l + j];
            }
        }
        v.pb(sum);
    }
    return v;
}
int main() {
	cin >> n >> x;
	a.resize(n + 1);
	for (int i = 0; i < n; i++) {
        cin >> a[i];
	}
	vector<ll> left = get(0, n / 2 - 1);
	vector<ll> right = get(n / 2, n - 1);
	sort(left.begin(), left.end());
	sort(right.begin(), right.end());
	ll ans = 0;
	for (ll i : left) {
		auto h = upper_bound(right.begin(), right.end(), x - i);
		ans += h - right.begin();
	}
	cout << ans << endl;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…