Submission #1228786

#TimeUsernameProblemLanguageResultExecution timeMemory
1228786PlayVoltzIce Hockey World Championship (CEOI15_bobek)C++20
100 / 100
416 ms20900 KiB
#include <bits/stdc++.h> using namespace std; #define ll unsigned long long int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); ll n, k, counts=0; cin>>n>>k; vector <ll> vect(n); vector <ll> one; vector <ll> two; for (int i=0; i<n; ++i){ cin>>vect[i]; } for (int i=1; i<(1<<n/2); ++i){ ll sum = 0; for (int j=0; j<n/2; ++j){ if (i&(1<<j)){ sum+=vect[j]; } } if (sum<=k){ one.push_back(sum); } } for (int i=1; i<(1<<(n-n/2)); ++i){ ll sum = 0; for (int j=0; j<(n-n/2); ++j){ if (i&(1<<j)){ sum+=vect[j+n/2]; } } if (sum<=k){ two.push_back(sum); } } sort(two.begin(), two.end()); for (int i=0; i<one.size(); ++i){ counts+=upper_bound(two.begin(), two.end(), k-one[i])-two.begin(); } cout<<counts+1+one.size()+two.size(); }
#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...