Submission #638798

#TimeUsernameProblemLanguageResultExecution timeMemory
638798Ahmed57Ice Hockey World Championship (CEOI15_bobek)C++14
100 / 100
477 ms8632 KiB
#include <bits/stdc++.h> using namespace std; int main(){ long long n,m; cin>>n>>m; long long arr[n]; for(int i = 0;i<n;i++){ cin>>arr[i]; } long long l = n/2; vector<long long> v; for(int i = 0;i<(1<<l);i++){ long long s = 0; for(int j = 0;j<l;j++){ if(i&(1<<j)){ s+=arr[j]; } } v.push_back(s); } sort(v.begin(),v.end()); long long all = 0; for(int i = 0;i<(1<<(n-l));i++){ long long s= 0; for(int j= l;j<n;j++){ if(i&(1<<(j-l))){ s+=arr[j]; } } if(s<=m)all++; long long it = lower_bound(v.begin(),v.end(),(m-s)+1)-v.begin(); it--; if(it>=0)all+=it; } cout<<all; 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...