# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1218736 | theiulius | Ice Hockey World Championship (CEOI15_bobek) | C++20 | 281 ms | 20952 KiB |
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define ff first
#define ss second
#define pb push_back
int n, m, sum, ans;
const int N = 1e6 + 6;
main(){
/*ifstream cin(".in");
ofstream cout(".out");*/
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
cin >> n >> m;
int a[n] = {};
for (int i = 0; i < n; i++){
cin >> a[i];
}
vector<int> v0, v1;
for (int i = 0; i < (1 << ((n + 1) / 2)); i++){
sum = 0;
for (int j = 0; j < (n + 1) / 2; j++){
if (i & (1 << j)){
sum += a[j];
}
}
if (sum <= m){
v0.pb(sum);
}
}
for (int i = 0; i < (1 << (n / 2)); i++){
sum = 0;
for (int j = 0; j < n / 2; j++){
if (i & (1 << j)){
sum += a[j + (n + 1) / 2];
}
}
if (sum <= m){
v1.pb(sum);
}
}
sort(v0.begin(), v0.end());
sort(v1.begin(), v1.end());
int last = 0;
for (int i = 0; i < v1.size(); i++){
if (v1[i] + v0[0] <= m){
last = i;
}else{
break;
}
}
ans += last + 1;
for (int i = 1; i < v0.size(); i++){
while (v1[last] + v0[i] > m){
last--; // 0ze qvemot ar chamova
}
ans += last + 1;
}
cout << ans << endl;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |