Submission #283218

# Submission time Handle Problem Language Result Execution time Memory
283218 2020-08-25T11:29:19 Z altalk Palindrome-Free Numbers (BOI13_numbers) C++14
13.75 / 100
1 ms 384 KB
#include <bits/stdc++.h>
#define loop(a, b) for(int a = 0; a < b; ++a)
#define loop1(a, b) for(int a = 1; a <= b; ++a)
#define loopc(a, c, b) for(int a = c; a < b; ++a)
#define loopr(a, b) for(int a = b-1; a >= 0; --a)
#define mp make_pair

using namespace std;

typedef unsigned long long ull;

deque<int> aa, bb;
ull ai, bi, p, av=0, bv=0, v;
set<int> pos;
int prev=-1, prev2=-1, as, bs;

int main() {
    cin >> ai >> bi;
    ++bi;
    while(ai) {
        aa.push_front(ai%10);
        ai /= 10;
    }
    while(bi) {
        bb.push_front(bi%10);
        bi /= 10;
    }

    //loop(a, 10) pos.insert(a);

    as = aa.size();
    loop(a, as) {
        if (a == 0) {
            loop(h, as) {
                if (h == 0) {
                    v = aa[0]-1;
                    if (as > 1) v *= 9;
                    loopc(w, 2, as) v *= 8;
                    av = v;
                }
                else if (h == as-1) av += 10;
                else {
                    v = 9;
                    if (as > h+1) v *= 9;
                    loopc(w, h+2, as) v *= 8;
                    av += v;
                }
                //cout << av << endl;
            }
        }
        else {
            v = aa[a] - (int)(aa[a] > aa[a-1]);
            if (a > 1 && aa[a-1] != aa[a-2]) v -= (int)(aa[a] > aa[a-2]);
            loopc(w, a+1, as) v *= 8;
            av += v;
        }
        //cout << av << endl;
    }

    bs = bb.size();
    loop(b, bs) {
        //cout << bb[b]  << " bb"<< endl;
        if (b == 0) {
            loop(h, bs) {
                if (h == 0) {
                    v = bb[0]-1;
                    if (bs > 1) v *= 9;
                    loopc(w, 2, bs) v *= 8;
                    bv = v;
                }
                else if (h == bs-1) bv += 10;
                else {
                    v = 9;
                    if (bs > h+1) v *= 9;
                    loopc(w, h+2, bs) v *= 8;
                    bv += v;
                }
                //cout << bv << endl;
            }
        }
        else {
            v = bb[b] - (int)(bb[b] > bb[b-1]);
            if (b > 1 && bb[b-1] != bb[b-2]) v -= (int)(bb[b] > bb[b-2]);
            loopc(w, b+1, bs) v *= 8;
            bv += v;
            //cout << v << " v" << endl;
        }
        //cout << bv << endl;
    }

    cout << bv - av << endl;
    return 0;
}
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 384 KB Output isn't correct
2 Incorrect 0 ms 256 KB Output isn't correct
3 Incorrect 0 ms 256 KB Output isn't correct
4 Correct 0 ms 384 KB Output is correct
5 Incorrect 1 ms 256 KB Output isn't correct
6 Incorrect 1 ms 384 KB Output isn't correct
7 Incorrect 0 ms 384 KB Output isn't correct
8 Incorrect 0 ms 256 KB Output isn't correct
9 Correct 1 ms 384 KB Output is correct
10 Correct 1 ms 256 KB Output is correct
11 Correct 1 ms 384 KB Output is correct
12 Correct 0 ms 384 KB Output is correct
13 Incorrect 1 ms 384 KB Output isn't correct
14 Correct 1 ms 256 KB Output is correct
15 Incorrect 0 ms 256 KB Output isn't correct
16 Incorrect 1 ms 384 KB Output isn't correct
17 Correct 0 ms 256 KB Output is correct
18 Incorrect 0 ms 256 KB Output isn't correct
19 Incorrect 0 ms 384 KB Output isn't correct
20 Incorrect 0 ms 256 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 256 KB Output isn't correct
2 Incorrect 0 ms 384 KB Output isn't correct
3 Incorrect 1 ms 384 KB Output isn't correct
4 Incorrect 1 ms 256 KB Output isn't correct
5 Correct 1 ms 384 KB Output is correct
6 Incorrect 0 ms 256 KB Output isn't correct
7 Incorrect 1 ms 384 KB Output isn't correct
8 Incorrect 1 ms 384 KB Output isn't correct
9 Incorrect 1 ms 256 KB Output isn't correct
10 Correct 0 ms 256 KB Output is correct
11 Incorrect 0 ms 384 KB Output isn't correct
12 Incorrect 1 ms 384 KB Output isn't correct
13 Incorrect 0 ms 384 KB Output isn't correct
14 Correct 1 ms 256 KB Output is correct
15 Incorrect 1 ms 384 KB Output isn't correct
16 Incorrect 1 ms 384 KB Output isn't correct
17 Incorrect 1 ms 384 KB Output isn't correct
18 Incorrect 1 ms 384 KB Output isn't correct
19 Incorrect 1 ms 256 KB Output isn't correct
20 Incorrect 1 ms 384 KB Output isn't correct
21 Incorrect 0 ms 256 KB Output isn't correct
22 Incorrect 0 ms 256 KB Output isn't correct
23 Incorrect 0 ms 256 KB Output isn't correct
24 Incorrect 0 ms 256 KB Output isn't correct
25 Incorrect 1 ms 256 KB Output isn't correct
26 Incorrect 1 ms 384 KB Output isn't correct
27 Incorrect 1 ms 288 KB Output isn't correct
28 Incorrect 1 ms 256 KB Output isn't correct
29 Incorrect 0 ms 384 KB Output isn't correct
30 Incorrect 0 ms 256 KB Output isn't correct
31 Incorrect 1 ms 384 KB Output isn't correct
32 Incorrect 0 ms 384 KB Output isn't correct
33 Incorrect 1 ms 384 KB Output isn't correct
34 Incorrect 1 ms 384 KB Output isn't correct
35 Incorrect 0 ms 384 KB Output isn't correct
36 Incorrect 1 ms 384 KB Output isn't correct
37 Incorrect 0 ms 384 KB Output isn't correct
38 Incorrect 0 ms 384 KB Output isn't correct
39 Incorrect 0 ms 256 KB Output isn't correct
40 Incorrect 0 ms 384 KB Output isn't correct
41 Incorrect 0 ms 256 KB Output isn't correct
42 Incorrect 0 ms 256 KB Output isn't correct
43 Incorrect 1 ms 384 KB Output isn't correct
44 Incorrect 1 ms 384 KB Output isn't correct
45 Incorrect 0 ms 384 KB Output isn't correct