#include <bits/stdc++.h>
using namespace std;
const int N = 5e4 + 5, V = 4e5;
int n, l, r, ans, a[N];
int main(){
cin >> n >> l >> r;
for(int i = 1; i <= n; i ++) cin >> a[i];
sort(a + 1, a + n + 1);
bitset <V + 10> flag(0), lst(0);
for(int i = 2; i <= n; i ++){
int gap = a[i] - a[i - 1];
lst <<= gap;
lst[gap] = 1;
flag |= lst;
}
if(l > V){
cout << r - l + 1;
return 0;
}
if(r > V) ans += r - V, r = V;
for(int i = l; i <= r; i ++){
int True = 1;
for(int j = 0; j <= V; j += i)
if(flag[j]) True = 0;
ans += True;
}
cout << ans;
return 0;
}
如上,WA on #1