Submission #61389801


Source Code Expand

Copy
/*
~~ Alguma parte/frase foda de um livro/mangá para dar sorte ~~
Uma vez eu gritei, gradualmente, perdi minha voz.
Uma vez eu chorei, gradualmente, perdi minhas lágrimas.
Uma vez eu sofri, gradualmente, me tornei capaz de suportar tudo.
Uma vez me alegrei, gradualmente, me tornei indiferente ao mundo.
E agora, tudo o que me resta é um rosto sem expressão,
meu olhar é tão firme quanto um monólito,
apenas a perseverança permanece no meu coração.
Este sou eu, um personagem insignificante,
Fang Yuan —·A·Perseverança.
*/
#if defined(LOCAL) or not defined(LUOGU)
#pragma GCC optimize(3)
#pragma GCC optimize("Ofast,unroll-loops")
#endif
#include <bits/stdc++.h>
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
/*
~~ Alguma parte/frase foda de um livro/mangá para dar sorte ~~

Uma vez eu gritei, gradualmente, perdi minha voz.
Uma vez eu chorei, gradualmente, perdi minhas lágrimas.
Uma vez eu sofri, gradualmente, me tornei capaz de suportar tudo.
Uma vez me alegrei, gradualmente, me tornei indiferente ao mundo.
E agora, tudo o que me resta é um rosto sem expressão,
meu olhar é tão firme quanto um monólito,
apenas a perseverança permanece no meu coração.
Este sou eu, um personagem insignificante,
Fang Yuan — A Perseverança.

*/
#if defined(LOCAL) or not defined(LUOGU)
#pragma GCC optimize(3)
#pragma GCC optimize("Ofast,unroll-loops")
#endif

#include <bits/stdc++.h>

using namespace std;

#define int long long
#define IOS                           \
    ios_base::sync_with_stdio(false); \
    cin.tie(0)
#define pb push_back
#define all(v) v.begin(), v.end()
#define f first
#define s second
#define Unique(v)                     \
    sort(all(v));                     \
    v.erase(unique(all(v)), v.end()); \
    v.shrink_to_fit()
#define sz(v) ((int)v.size())
#define sor(x) sort(all(x))
#define ft front()
#define bk back()
#define endl "\n"
#define rep(i, a, b) for (int i = a; i < (b); ++i)
#define MIN(v) *min_element(all(v))
#define MAX(v) *max_element(all(v))
#define LB(c, x) distance((c).begin(), lower_bound(all(c), (x)))
#define UB(c, x) distance((c).begin(), upper_bound(all(c), (x)))
typedef vector<double> vd;
typedef vector<vd> vvd;
typedef vector<vvd> vvvd;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<vvi> vvvi;
typedef long long ll;
typedef double db;
typedef long double ld;
typedef pair<int, int> pii;
typedef pair<int, pii> piii;
typedef vector<pii> vii;
typedef vector<piii> viii;
typedef tuple<int, int, int> tiii;
const int MAXN = 2e5 + 5;
const int INF = 0x3f3f3f3f;
const ll LINF = 0x3f3f3f3f3f3f3f3fll;
const int mod = 1e9 + 7;
void dbg_out() { cerr << endl; }
template <typename Head, typename... Tail>
void dbg_out(Head H, Tail... T)
{
    cerr << ' ' << H;
    dbg_out(T...);
}
#define dbg(...) cerr << "(" << _VA_ARGS_ << "):", dbg_out(_VA_ARGS_), cerr << endl

ll exp(ll base, ll exp)
{
    ll result = 1;
    while (exp > 0)
    {
        if (exp & 1)
            result *= base;
        base *= base;
        exp >>= 1;
    }
    return result;
}

int f(int n)
{
    if (n < 10)
        return 0;
    string s = to_string(n);
    int total = 0;
    rep(l, 2, sz(s))
        rep(c, 1, 10)
            total += exp(c, l - 1);

    rep(d, 1, s[0] - '0')
        total += exp(d, sz(s) - 1);

    int tem = 0;
    bool ok = 1;

    rep(i, 1, sz(s))
    {
        int curr = s[i] - '0';
        rep(d, 0, curr) if (d < s[0] - '0')
            tem += exp(s[0] - '0', sz(s) - 1 - i);

        if (curr >= s[0] - '0')
        {
            ok = false;
            break;
        }
    }
    total += tem;
    if (ok)
        total++;

    return total;
}

void solve()
{
    int l, r;
    cin >> l >> r;
    cout << f(r) - f(l - 1) << endl;
}

int32_t main()
{
    IOS;
    int tt;
    tt = 1;
    while (tt--)
        solve();
    return 0;
}

Submission Info

Submission Time
Task C - Snake Numbers
User Marcux777
Language C++ 23 (gcc 12.2)
Score 350
Code Size 3242 Byte
Status AC
Exec Time 1 ms
Memory 3528 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 350 / 350
Status
AC × 3
AC × 29
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 02_random2_00.txt, 02_random2_01.txt, 02_random2_02.txt, 02_random2_03.txt, 03_random3_00.txt, 03_random3_01.txt, 03_random3_02.txt, 03_random3_03.txt, 03_random3_04.txt, 04_handmade_00.txt, 04_handmade_01.txt, 04_handmade_02.txt, 04_handmade_03.txt, 04_handmade_04.txt, 04_handmade_05.txt, 04_handmade_06.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 3424 KB
00_sample_01.txt AC 1 ms 3472 KB
00_sample_02.txt AC 1 ms 3464 KB
01_random_00.txt AC 1 ms 3440 KB
01_random_01.txt AC 1 ms 3472 KB
01_random_02.txt AC 1 ms 3388 KB
01_random_03.txt AC 1 ms 3464 KB
01_random_04.txt AC 1 ms 3460 KB
01_random_05.txt AC 1 ms 3392 KB
01_random_06.txt AC 1 ms 3392 KB
01_random_07.txt AC 1 ms 3460 KB
01_random_08.txt AC 1 ms 3448 KB
01_random_09.txt AC 1 ms 3388 KB
02_random2_00.txt AC 1 ms 3456 KB
02_random2_01.txt AC 1 ms 3436 KB
02_random2_02.txt AC 1 ms 3464 KB
02_random2_03.txt AC 1 ms 3424 KB
03_random3_00.txt AC 1 ms 3468 KB
03_random3_01.txt AC 1 ms 3472 KB
03_random3_02.txt AC 1 ms 3424 KB
03_random3_03.txt AC 1 ms 3476 KB
03_random3_04.txt AC 1 ms 3356 KB
04_handmade_00.txt AC 1 ms 3460 KB
04_handmade_01.txt AC 1 ms 3476 KB
04_handmade_02.txt AC 1 ms 3528 KB
04_handmade_03.txt AC 1 ms 3468 KB
04_handmade_04.txt AC 1 ms 3464 KB
04_handmade_05.txt AC 1 ms 3464 KB
04_handmade_06.txt AC 1 ms 3472 KB


2025-03-06 (Thu)
07:41:22 +00:00