Submission #1278693

#TimeUsernameProblemLanguageResultExecution timeMemory
1278693JungPSIce Hockey World Championship (CEOI15_bobek)C++20
20 / 100
1096 ms13680 KiB
#include<iostream> #include<vector> #include<map> using namespace std; map<int,int> mp1,mp2; vector<int> vec; signed main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int n,m; cin >> n >> m; for(int i=0;i<n;++i){ int a; cin >> a; vec.push_back(a); } for(int i=0;i<(1<<(n/2));++i){ int sum=0; for(int j=0;j<n/2;++j){ if((i&(1<<j))==(1<<j)){ sum+=vec[j]; } } ++mp1[sum]; } for(int i=0;i<(1<<(n-n/2));++i){ int sum=0; for(int j=0;j<n-n/2;++j){ if((i&(1<<j))==(1<<j)){ sum+=vec[j+n/2]; } } ++mp2[sum]; } int ans=0; for(auto i:mp1){ for(auto j:mp2){ if(i.first+j.first>m) break; ans+=i.second*j.second; } if(i.first>m) break; } 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...