Submission #1194205

#TimeUsernameProblemLanguageResultExecution timeMemory
1194205irmuunIce Hockey World Championship (CEOI15_bobek)C++20
100 / 100
282 ms20816 KiB
#include <bits/stdc++.h>

using namespace std;

#define ll long long
#define pb push_back
#define ff first
#define ss second
#define all(s) s.begin(),s.end()
#define rall(s) s.rbegin(),s.rend()

int main(){
    ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
    ll n,m;
    cin>>n>>m;
    vector<ll>a(n),v[2];
    for(ll i=0;i<n;i++){
        cin>>a[i];
        v[i%2].pb(a[i]);
    }
    vector<ll>u[2];
    for(ll b=0;b<2;b++){
        for(ll i=0;i<(1ll<<v[b].size());i++){
            ll sum=0;
            for(ll j=0;j<v[b].size();j++){
                if(i&(1ll<<j)){
                    sum+=v[b][j];
                }
            }
            u[b].pb(sum);
        }
        sort(all(u[b]));
    }
    ll ans=0,j=0;
    for(ll i=u[0].size()-1;i>=0;i--){
        while(j<u[1].size()&&u[0][i]+u[1][j]<=m){
            j++;
        }
        ans+=j;
    }
    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...