やるだけ
class TheLuckyNumbers {
public:
int count(int a, int b)
{
const lli N = 1000000000;
set<lli> s;
s.insert(4);
s.insert(7);
while (true) {
set<lli> t = s;
FOR (i, t) {
lli n = *i * 10LL + 4LL;
lli m = *i * 10LL + 7LL;
if (n < N) s.insert(n);
if (m < N) s.insert(m);
}
if (s.size() == t.size()) break;
}
int x = 0;
int y = 0;
FOR (i, s) {
x += *i <= (a - 1);
y += *i <= b;
}
return y - x;
}
};