Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int fi,fr,n,le,ri,i,j,cur,a[1010],f[2001000],q[2001000];
- int main() {
- scanf("%d%d%d",&n,&le,&ri);
- for (i=0; i<n; i++) {
- scanf("%d",&a[i]);
- if (i) a[i]-=a[0];
- }
- f[0]=0;
- q[0]=fi=0;
- for (fr=1; fi<fr; fi++) {
- i=q[fi];
- cur=f[i]+1;
- if (f[i]<le) for (j=1; j<n; j++) if (!f[i+a[j]]) {
- f[i+a[j]]=cur;
- q[fr++]=i+a[j];
- }
- f[i]=le;
- }
- for (i=1; i<n; i++) a[i]+=a[0];
- for (fi=0; fi<fr; fi++) {
- i=q[fi];
- cur=f[i]+1;
- if (f[i]<ri) for (j=0; j<n; j++) if (!f[i+a[j]]) {
- f[i+a[j]]=cur;
- q[fr++]=i+a[j];
- }
- }
- printf("%d\n",fr);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement