122C - Lucky Sum - CodeForces Solution


brute force math *1100

Please click on ads to support us..

C++ Code:

#include<bits/stdc++.h>
#include<unordered_map>
#define ll long long
#define SI size()
#define F first
#define S second
#define pb push_back
#define MOD 1000000007
#define mid (l+r)/2
#define lowbit(x) x & -x
#define R return
using namespace std;
const ll NMAX=200000+70;
ll n,l,r;
vector<ll> v;
void build_array(ll x){
    if(x>1e10)
        return ;
    v.push_back(x);
    build_array(x*10+7);
    build_array(x*10+4);
}
void Solve(){
    cin>>l>>r;
    build_array(4);
    build_array(7);
    ll ans=0;
    sort(v.begin(),v.end());
    for(int i=0;i<v.size();i++){
        if(l<=v[i]){
            ll cur=min(v[i],r)-l+1;
            ans+=cur*v[i];
            l=min(v[i],r)+1;
        }
    }
    cout<<ans<<endl;
}
int main(){
    ios::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
    ll tests = 1;
    bool multi = false;
    if(multi) cin >> tests;
    while(tests--){ Solve(); }
    return 0;
}


Comments

Submit
0 Comments
More Questions

545B - Equidistant String
1244C - The Football Season
1696B - NIT Destroys the Universe
1674A - Number Transformation
1244E - Minimizing Difference
1688A - Cirno's Perfect Bitmasks Classroom
219A - k-String
952A - Quirky Quantifiers
451B - Sort the Array
1505H - L BREAK into program
171E - MYSTERIOUS LANGUAGE
630D - Hexagons
1690D - Black and White Stripe
1688D - The Enchanted Forest
1674C - Infinite Replacement
712A - Memory and Crow
1676C - Most Similar Words
1681A - Game with Cards
151C - Win or Freeze
1585A - Life of a Flower
1662A - Organizing SWERC
466C - Number of Ways
1146A - Love "A"
1618D - Array and Operations
1255A - Changing Volume
1710C - XOR Triangle
415C - Mashmokh and Numbers
8A - Train and Peter
591A - Wizards' Duel
1703G - Good Key Bad Key