Guest User

Untitled

a guest
Feb 21st, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.11 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string>
  3. #include <string.h>
  4. #include <vector>
  5. #include <queue>
  6. #include <set>
  7. #include <stack>
  8. #include <algorithm>
  9. #define FOR(A, B) for(A=0;A<B;A++)
  10. #define MAXN 111
  11. using namespace std;
  12.  
  13. long long l,r;
  14. vector<long long> luckies;
  15. void gen(long long x)
  16. {
  17.         if(x <= 15LL*r && x > 0) {
  18.         //printf("%lld\n", x);
  19.                 luckies.push_back(x);
  20.         }
  21.         if(x > r) return;
  22.         gen(x*10LL+4LL);
  23.         gen(x*10LL+7LL);
  24. }
  25.  
  26. int main()
  27. {
  28.         int i,j,k,m;
  29.         int ll,rr;
  30.         scanf("%d %d", &ll, &rr);
  31.         l = (long long)ll; r = (long long)rr;
  32.         gen(0);
  33.         sort(luckies.begin(), luckies.end());
  34.         i = 0;
  35.         while(luckies[i] < l) i++;
  36.         long long ans = (min(luckies[i], r)-l+1)*luckies[i];
  37.        
  38.         long long prev = luckies[i]+1;
  39.         for(j = i+1; j < luckies.size(); j++) {
  40.                 if(prev > r) break;
  41.                 ans += (min(luckies[j], r)-prev+1)*(long long)luckies[j];
  42.                 prev = luckies[j]+1;
  43.         }
  44.         printf("%I64d\n", ans);
  45.         return 0;
  46. }
Add Comment
Please, Sign In to add comment