CSES - Datatähti Open 2021 - Results
Submission details
Task:Greater Integers
Sender:apostoldaniel854
Submission time:2021-01-29 20:38:04 +0200
Language:C++ (C++17)
Status:READY
Result:35
Feedback
groupverdictscore
#1ACCEPTED35
#20
Test results
testverdicttimegroup
#1ACCEPTED0.01 s1, 2details
#20.01 s2details

Code

#include <bits/stdc++.h>

using namespace std;

using ll = long long;

ll get (int cif, ll p) {
    return cif * (p * 10 - 1) / 9;
}

void solveTest () {
    ll n;
    cin >> n;
    ll p = 1;
    while (p * 10 <= n) p *= 10;
    if (get (9, p) <= n) cout << (p * 100 - 1) / 9 << "\n";
    else {
        int cif = 9;
        while (cif > 0 && get (cif - 1, p) > n)
            cif--;
        if (cif > 0)
            cout << get (cif, p) << "\n";
        else
            cout << p - 1 << "\n";
    }
}

int main () {
    int t;
    cin >> t;
    while (t--)
        solveTest ();
    return 0;
}

Test details

Test 1

Group: 1, 2

Verdict: ACCEPTED

input
1000
1
2
3
4
...

correct output
2
3
4
5
6
...

user output
2
3
4
5
6
...
Truncated

Test 2

Group: 2

Verdict:

input
1000
735425311146082632
756615631808964686
466489470801941584
100417544394053220
...

correct output
777777777777777777
777777777777777777
555555555555555555
111111111111111111
555555555555555555
...

user output
777777777777777777
777777777777777777
555555555555555555
111111111111111111
55555555555555
...
Truncated