// Problem: CF550B Preparing Olympiad // Contest: Luogu // URL: https://www.luogu.com.cn/problem/CF550B // Memory Limit: 250 MB // Time Limit: 2000 ms // // Powered by CP Editor (https://cpeditor.org)
#include<bits/stdc++.h> usingnamespace std; #define int long long inlineintread(){int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1; ch=getchar();}while(ch>='0'&&ch<='9'){x=(x<<1)+ (x<<3)+(ch^48);ch=getchar();}return x*f;} //#define mo //#define M //#define M int n, m, i, j, k; int a[20], l, r, kx, ans;
voiddfs(int x, int sum, int mn, int mx) { if(x>n) { if(sum>=l&&sum<=r) if(mx-mn>=kx) ++ans; return ; } dfs(x+1, sum, mn, mx); dfs(x+1, sum+a[x], min(mn, a[x]), max(mx, a[x])); }