Submission #1291471

#TimeUsernameProblemLanguageResultExecution timeMemory
1291471Jawad_Akbar_JJIce Hockey World Championship (CEOI15_bobek)C++20
0 / 100
186 ms29084 KiB
#include <iostream> #include <vector> #include <algorithm> using namespace std; #define int long long int a[1<<20], Sum[1<<20]; signed main(){ int n1, M, n2, Ans = 0; cin>>n1>>M; n2 = n1 / 2, n1 -= n2; vector<int> v1, v2; for (int i=0;i<n1;i++) cin>>a[1<<i]; for (int i=0;i<(1<<n1);i++){ if (i) Sum[i] = Sum[i ^ (i & -i)] + a[i & -i]; v1.push_back(Sum[i]); } for (int i=0;i<n2;i++) cin>>a[1<<i]; for (int i=0;i<(1<<n2);i++){ if (i) Sum[i] = Sum[i ^ (i & -i)] + a[i & -i]; v2.push_back(Sum[i]); } sort(begin(v1), end(v1)); sort(begin(v2), end(v2)); for (int i=v1.size()-1, l=0;i>=0;i--){ while (v1[i] + v2[l] <= M) l++; Ans += l; } cout<<Ans<<'\n'; }
#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...