Submission #1101392

#TimeUsernameProblemLanguageResultExecution timeMemory
1101392nasir_bashirovIce Hockey World Championship (CEOI15_bobek)C++11
40 / 100
478 ms23208 KiB
// #pragma GCC optimize("O3,unroll-loops") // #pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt") #include <bits/stdc++.h> using namespace std; #define ll long long #define pii pair<int, int> #define pll pair<ll, ll> #define vi vector<int> #define vl vector<ll> #define vii vector<pii> #define db long double #define vll vector<pll> #define endl '\n' #define all(x) x.begin(), x.end() #define fastio ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); #define int long long int a[45], n, m; void fmain(){ cin >> n >> m; for(int i = 1; i <= n; i++){ cin >> a[i]; } vi v1, v2; for(int mask = 0; mask < (1 << (n / 2)); mask++){ int s = 0; for(int i = 0; i < n; i++){ if((1 << i) & mask){ s += a[i + 1]; } } v1.push_back(s); } for(int mask = 0; mask < (1 << (n - n / 2)); mask++){ int s = 0; for(int i = 0; i < n; i++){ if((1 << i) & mask){ s += a[i + 1 + n / 2]; } } v2.push_back(s); } sort(all(v2)); int res = 0; for(int i : v1){ auto ind = upper_bound(all(v2), m - i); if(ind != v2.begin()) res += ind - v2.begin(); } cout << res; } signed main(){ int tmr = 1; //cin >> tmr; while(tmr--){ fmain(); } }
#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...