题解
2026-08-13 13:21:43
发布于:江苏
0阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 18;
int n,l,r,x,a[N];
int main(){
cin >> n >> l >> r >> x;
for(int i=0;i<n;i++){
cin >> a[i];
}
int ans = 0;
for(int mask=0; mask<(1<<n); mask++){
if(__builtin_popcount(mask) < 2) continue;
int sum=0, mi=INT_MAX, mx=0;
for(int i=0; i<n; i++){
if( mask & (1<<i)){
sum += a[i];
mi = min(mi, a[i]);
mx = max(mx, a[i]);
}
}
if(l<=sum && sum<=r && mx-mi>=x) ans++;
}
cout << ans;
return 0;
}
这里空空如也




有帮助,赞一个