fork download
  1. #include "iostream"
  2. #include "cstdio"
  3. #include "string.h"
  4. #include "cstdlib"
  5. #include "algorithm"
  6. #include "vector"
  7. #include "cmath"
  8. using namespace std;
  9. long long a[] = {4 , 7 , 44 , 47 , 74 , 77 , 444 , 447 , 474 , 477 , 744 , 747 , 774 , 777 , 4444 , 4447 , 4474 , 4477 , 4744 , 4747 , 4774 , 4777 , 7444 , 7447 , 7474 , 7477 , 7744 , 7747 , 7774 , 7777 , 44444 , 44447 , 44474 , 44477 , 44744 , 44747 , 44774 , 44777 , 47444 , 47447 , 47474 , 47477 , 47744 , 47747 , 47774 , 47777 , 74444 , 74447 , 74474 , 74477 , 74744 , 74747 , 74774 , 74777 , 77444 , 77447 , 77474 , 77477 , 77744 , 77747 , 77774 , 77777 , 444444 , 444447 , 444474 , 444477 , 444744 , 444747 , 444774 , 444777 , 447444 , 447447 , 447474 , 447477 , 447744 , 447747 , 447774 , 447777 , 474444 , 474447 , 474474 , 474477 , 474744 , 474747 , 474774 , 474777 , 477444 , 477447 , 477474 , 477477 , 477744 , 477747 , 477774 , 477777 , 744444 , 744447 , 744474 , 744477 , 744744 , 744747 , 744774 , 744777 , 747444 , 747447 , 747474 , 747477 , 747744 , 747747 , 747774 , 747777 , 774444 , 774447 , 774474 , 774477 , 774744 , 774747 , 774774 , 774777 , 777444 , 777447 , 777474 , 777477 , 777744 , 777747 , 777774 , 777777 , 4444444 , 4444447 , 4444474 , 4444477 , 4444744 , 4444747 , 4444774 , 4444777 , 4447444 , 4447447 , 4447474 , 4447477 , 4447744 , 4447747 , 4447774 , 4447777 , 4474444 , 4474447 , 4474474 , 4474477 , 4474744 , 4474747 , 4474774 , 4474777 , 4477444 , 4477447 , 4477474 , 4477477 , 4477744 , 4477747 , 4477774 , 4477777 , 4744444 , 4744447 , 4744474 , 4744477 , 4744744 , 4744747 , 4744774 , 4744777 , 4747444 , 4747447 , 4747474 , 4747477 , 4747744 , 4747747 , 4747774 , 4747777 , 4774444 , 4774447 , 4774474 , 4774477 , 4774744 , 4774747 , 4774774 , 4774777 , 4777444 , 4777447 , 4777474 , 4777477 , 4777744 , 4777747 , 4777774 , 4777777 , 7444444 , 7444447 , 7444474 , 7444477 , 7444744 , 7444747 , 7444774 , 7444777 , 7447444 , 7447447 , 7447474 , 7447477 , 7447744 , 7447747 , 7447774 , 7447777 , 7474444 , 7474447 , 7474474 , 7474477 , 7474744 , 7474747 , 7474774 , 7474777 , 7477444 , 7477447 , 7477474 , 7477477 , 7477744 , 7477747 , 7477774 , 7477777 , 7744444 , 7744447 , 7744474 , 7744477 , 7744744 , 7744747 , 7744774 , 7744777 , 7747444 , 7747447 , 7747474 , 7747477 , 7747744 , 7747747 , 7747774 , 7747777 , 7774444 , 7774447 , 7774474 , 7774477 , 7774744 , 7774747 , 7774774 , 7774777 , 7777444 , 7777447 , 7777474 , 7777477 , 7777744 , 7777747 , 7777774 , 7777777 , 44444444 , 44444447 , 44444474 , 44444477 , 44444744 , 44444747 , 44444774 , 44444777 , 44447444 , 44447447 , 44447474 , 44447477 , 44447744 , 44447747 , 44447774 , 44447777 , 44474444 , 44474447 , 44474474 , 44474477 , 44474744 , 44474747 , 44474774 , 44474777 , 44477444 , 44477447 , 44477474 , 44477477 , 44477744 , 44477747 , 44477774 , 44477777 , 44744444 , 44744447 , 44744474 , 44744477 , 44744744 , 44744747 , 44744774 , 44744777 , 44747444 , 44747447 , 44747474 , 44747477 , 44747744 , 44747747 , 44747774 , 44747777 , 44774444 , 44774447 , 44774474 , 44774477 , 44774744 , 44774747 , 44774774 , 44774777 , 44777444 , 44777447 , 44777474 , 44777477 , 44777744 , 44777747 , 44777774 , 44777777 , 47444444 , 47444447 , 47444474 , 47444477 , 47444744 , 47444747 , 47444774 , 47444777 , 47447444 , 47447447 , 47447474 , 47447477 , 47447744 , 47447747 , 47447774 , 47447777 , 47474444 , 47474447 , 47474474 , 47474477 , 47474744 , 47474747 , 47474774 , 47474777 , 47477444 , 47477447 , 47477474 , 47477477 , 47477744 , 47477747 , 47477774 , 47477777 , 47744444 , 47744447 , 47744474 , 47744477 , 47744744 , 47744747 , 47744774 , 47744777 , 47747444 , 47747447 , 47747474 , 47747477 , 47747744 , 47747747 , 47747774 , 47747777 , 47774444 , 47774447 , 47774474 , 47774477 , 47774744 , 47774747 , 47774774 , 47774777 , 47777444 , 47777447 , 47777474 , 47777477 , 47777744 , 47777747 , 47777774 , 47777777 , 74444444 , 74444447 , 74444474 , 74444477 , 74444744 , 74444747 , 74444774 , 74444777 , 74447444 , 74447447 , 74447474 , 74447477 , 74447744 , 74447747 , 74447774 , 74447777 , 74474444 , 74474447 , 74474474 , 74474477 , 74474744 , 74474747 , 74474774 , 74474777 , 74477444 , 74477447 , 74477474 , 74477477 , 74477744 , 74477747 , 74477774 , 74477777 , 74744444 , 74744447 , 74744474 , 74744477 , 74744744 , 74744747 , 74744774 , 74744777 , 74747444 , 74747447 , 74747474 , 74747477 , 74747744 , 74747747 , 74747774 , 74747777 , 74774444 , 74774447 , 74774474 , 74774477 , 74774744 , 74774747 , 74774774 , 74774777 , 74777444 , 74777447 , 74777474 , 74777477 , 74777744 , 74777747 , 74777774 , 74777777 , 77444444 , 77444447 , 77444474 , 77444477 , 77444744 , 77444747 , 77444774 , 77444777 , 77447444 , 77447447 , 77447474 , 77447477 , 77447744 , 77447747 , 77447774 , 77447777 , 77474444 , 77474447 , 77474474 , 77474477 , 77474744 , 77474747 , 77474774 , 77474777 , 77477444 , 77477447 , 77477474 , 77477477 , 77477744 , 77477747 , 77477774 , 77477777 , 77744444 , 77744447 , 77744474 , 77744477 , 77744744 , 77744747 , 77744774 , 77744777 , 77747444 , 77747447 , 77747474 , 77747477 , 77747744 , 77747747 , 77747774 , 77747777 , 77774444 , 77774447 , 77774474 , 77774477 , 77774744 , 77774747 , 77774774 , 77774777 , 77777444 , 77777447 , 77777474 , 77777477 , 77777744 , 77777747 , 77777774 , 77777777 , 444444444 , 444444447 , 444444474 , 444444477 , 444444744 , 444444747 , 444444774 , 444444777 , 444447444 , 444447447 , 444447474 , 444447477 , 444447744 , 444447747 , 444447774 , 444447777 , 444474444 , 444474447 , 444474474 , 444474477 , 444474744 , 444474747 , 444474774 , 444474777 , 444477444 , 444477447 , 444477474 , 444477477 , 444477744 , 444477747 , 444477774 , 444477777 , 444744444 , 444744447 , 444744474 , 444744477 , 444744744 , 444744747 , 444744774 , 444744777 , 444747444 , 444747447 , 444747474 , 444747477 , 444747744 , 444747747 , 444747774 , 444747777 , 444774444 , 444774447 , 444774474 , 444774477 , 444774744 , 444774747 , 444774774 , 444774777 , 444777444 , 444777447 , 444777474 , 444777477 , 444777744 , 444777747 , 444777774 , 444777777 , 447444444 , 447444447 , 447444474 , 447444477 , 447444744 , 447444747 , 447444774 , 447444777 , 447447444 , 447447447 , 447447474 , 447447477 , 447447744 , 447447747 , 447447774 , 447447777 , 447474444 , 447474447 , 447474474 , 447474477 , 447474744 , 447474747 , 447474774 , 447474777 , 447477444 , 447477447 , 447477474 , 447477477 , 447477744 , 447477747 , 447477774 , 447477777 , 447744444 , 447744447 , 447744474 , 447744477 , 447744744 , 447744747 , 447744774 , 447744777 , 447747444 , 447747447 , 447747474 , 447747477 , 447747744 , 447747747 , 447747774 , 447747777 , 447774444 , 447774447 , 447774474 , 447774477 , 447774744 , 447774747 , 447774774 , 447774777 , 447777444 , 447777447 , 447777474 , 447777477 , 447777744 , 447777747 , 447777774 , 447777777 , 474444444 , 474444447 , 474444474 , 474444477 , 474444744 , 474444747 , 474444774 , 474444777 , 474447444 , 474447447 , 474447474 , 474447477 , 474447744 , 474447747 , 474447774 , 474447777 , 474474444 , 474474447 , 474474474 , 474474477 , 474474744 , 474474747 , 474474774 , 474474777 , 474477444 , 474477447 , 474477474 , 474477477 , 474477744 , 474477747 , 474477774 , 474477777 , 474744444 , 474744447 , 474744474 , 474744477 , 474744744 , 474744747 , 474744774 , 474744777 , 474747444 , 474747447 , 474747474 , 474747477 , 474747744 , 474747747 , 474747774 , 474747777 , 474774444 , 474774447 , 474774474 , 474774477 , 474774744 , 474774747 , 474774774 , 474774777 , 474777444 , 474777447 , 474777474 , 474777477 , 474777744 , 474777747 , 474777774 , 474777777 , 477444444 , 477444447 , 477444474 , 477444477 , 477444744 , 477444747 , 477444774 , 477444777 , 477447444 , 477447447 , 477447474 , 477447477 , 477447744 , 477447747 , 477447774 , 477447777 , 477474444 , 477474447 , 477474474 , 477474477 , 477474744 , 477474747 , 477474774 , 477474777 , 477477444 , 477477447 , 477477474 , 477477477 , 477477744 , 477477747 , 477477774 , 477477777 , 477744444 , 477744447 , 477744474 , 477744477 , 477744744 , 477744747 , 477744774 , 477744777 , 477747444 , 477747447 , 477747474 , 477747477 , 477747744 , 477747747 , 477747774 , 477747777 , 477774444 , 477774447 , 477774474 , 477774477 , 477774744 , 477774747 , 477774774 , 477774777 , 477777444 , 477777447 , 477777474 , 477777477 , 477777744 , 477777747 , 477777774 , 477777777 , 744444444 , 744444447 , 744444474 , 744444477 , 744444744 , 744444747 , 744444774 , 744444777 , 744447444 , 744447447 , 744447474 , 744447477 , 744447744 , 744447747 , 744447774 , 744447777 , 744474444 , 744474447 , 744474474 , 744474477 , 744474744 , 744474747 , 744474774 , 744474777 , 744477444 , 744477447 , 744477474 , 744477477 , 744477744 , 744477747 , 744477774 , 744477777 , 744744444 , 744744447 , 744744474 , 744744477 , 744744744 , 744744747 , 744744774 , 744744777 , 744747444 , 744747447 , 744747474 , 744747477 , 744747744 , 744747747 , 744747774 , 744747777 , 744774444 , 744774447 , 744774474 , 744774477 , 744774744 , 744774747 , 744774774 , 744774777 , 744777444 , 744777447 , 744777474 , 744777477 , 744777744 , 744777747 , 744777774 , 744777777 , 747444444 , 747444447 , 747444474 , 747444477 , 747444744 , 747444747 , 747444774 , 747444777 , 747447444 , 747447447 , 747447474 , 747447477 , 747447744 , 747447747 , 747447774 , 747447777 , 747474444 , 747474447 , 747474474 , 747474477 , 747474744 , 747474747 , 747474774 , 747474777 , 747477444 , 747477447 , 747477474 , 747477477 , 747477744 , 747477747 , 747477774 , 747477777 , 747744444 , 747744447 , 747744474 , 747744477 , 747744744 , 747744747 , 747744774 , 747744777 , 747747444 , 747747447 , 747747474 , 747747477 , 747747744 , 747747747 , 747747774 , 747747777 , 747774444 , 747774447 , 747774474 , 747774477 , 747774744 , 747774747 , 747774774 , 747774777 , 747777444 , 747777447 , 747777474 , 747777477 , 747777744 , 747777747 , 747777774 , 747777777 , 774444444 , 774444447 , 774444474 , 774444477 , 774444744 , 774444747 , 774444774 , 774444777 , 774447444 , 774447447 , 774447474 , 774447477 , 774447744 , 774447747 , 774447774 , 774447777 , 774474444 , 774474447 , 774474474 , 774474477 , 774474744 , 774474747 , 774474774 , 774474777 , 774477444 , 774477447 , 774477474 , 774477477 , 774477744 , 774477747 , 774477774 , 774477777 , 774744444 , 774744447 , 774744474 , 774744477 , 774744744 , 774744747 , 774744774 , 774744777 , 774747444 , 774747447 , 774747474 , 774747477 , 774747744 , 774747747 , 774747774 , 774747777 , 774774444 , 774774447 , 774774474 , 774774477 , 774774744 , 774774747 , 774774774 , 774774777 , 774777444 , 774777447 , 774777474 , 774777477 , 774777744 , 774777747 , 774777774 , 774777777 , 777444444 , 777444447 , 777444474 , 777444477 , 777444744 , 777444747 , 777444774 , 777444777 , 777447444 , 777447447 , 777447474 , 777447477 , 777447744 , 777447747 , 777447774 , 777447777 , 777474444 , 777474447 , 777474474 , 777474477 , 777474744 , 777474747 , 777474774 , 777474777 , 777477444 , 777477447 , 777477474 , 777477477 , 777477744 , 777477747 , 777477774 , 777477777 , 777744444 , 777744447 , 777744474 , 777744477 , 777744744 , 777744747 , 777744774 , 777744777 , 777747444 , 777747447 , 777747474 , 777747477 , 777747744 , 777747747 , 777747774 , 777747777 , 777774444 , 777774447 , 777774474 , 777774477 , 777774744 , 777774747 , 777774774 , 777774777 , 777777444 , 777777447 , 777777474 , 777777477 , 777777744 , 777777747 , 777777774 , 777777777 , 4444444444};
  10. bool check(int n){
  11. while(n > 0){
  12. int m = n % 10;
  13. if(m != 4 && m != 7) return false;
  14. n /= 10;
  15. }
  16. return true;
  17. }
  18.  
  19. main(){
  20. //cout<< a[upper_bound(a, a + sizeof(a)/sizeof(long long) + 1, 1000000000) - a];
  21. //cout<< sizeof(a)/sizeof(int);
  22. int l,r;
  23. scanf("%d%d", &l, &r);
  24. long long s = 0;
  25. for(int i = l; i <= r; i++){
  26. if(check(i)) s += i;
  27. else {
  28. long long c = a[upper_bound(a, a + sizeof(a)/sizeof(long long) + 1, i) - a] ;
  29. if(r >= c){
  30. s += (c - i + 1) * c;
  31. i = c;
  32. }
  33. else {
  34. s += (r - i + 1) * c;
  35. i = r + 1;
  36. }
  37. }
  38. }
  39. printf("%lld", s);
  40. }
Success #stdin #stdout 0.83s 5520KB
stdin
,77744,44477,
stdout
-194588382046235737