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

Code

#include <bits/stdc++.h>
#include <climits>
using namespace std;
template<class T>
using V = vector<T>;
template<class T>
using VV = V<V<T>>;
using ld = long double;
#define ll long long
using ull = unsigned ll;
using PLL = pair<ll, ll>;
using VLL = V<ll>;
using VB = V<bool>;
using VVB = VV<bool>;
using VVLL = VV<ll>;
using Gr = VVLL;
using MLL = map<ll, ll>;
#define UMLL unordered_map<ll, ll, custom_hash>
//using int128 = __int128;
//using double128 = __float128;
#define fast ios_base::sync_with_stdio(0); cin.tie(nullptr); cout.tie(nullptr); cerr.tie(nullptr);
#define INF LONG_MAX
#define MINF LONG_MIN
#define R &
#define CR const R
#define FORI(i, a, b) for(ll i = a, max##i = b; i < max##i; ++i)
#define FOR(i, n) FORI(i, 0, n)
#define RFORI(i, a, b) for(ll i = a, min##i = b; i >= min##i; --i)
#define RFOR(i, n) RFORI(i, n, 0)
#define FORA(i, a) for(auto i : a)
#define FORAR(i, a) for(auto R i : a)
#define FORACR(i, a) for(auto CR i : a)
#define ALL(obj) begin(obj), end(obj)
#define Count(q) while(q--)
#define OK cerr << "OK\n";
#define mp make_pair
#define pb push_back
//#define DEBUG
template<class T>
T sqr(T x)
{
return x * x;
}
void YES(bool g, ostream R os, bool upper = true)
{
if(g)
if(upper)
os << "YES";
else
os << "Yes";
else
if(upper)
os << "NO";
else
os << "No";
os << "\n";
}
template<class T>
void show(T CR t, ostream R os = cerr)
{
FORACR(i, t)
os << i << " ";
os << "\n";
}
template<class T>
void show2d(T CR t, ostream R os = cerr)
{
FORACR(i, t)
show(i, os);
os << "\n";
}
constexpr ll MOD = 1e9 + 7;
//constexpr ll len = 2e5 + 100;
constexpr ld PI = atanl(1.0L) * 4;
struct custom_hash
{
static uint64_t splitmix64(uint64_t x)
{
x += 0x9e3779b97f4a7c15;
x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9;
x = (x ^ (x >> 27)) * 0x94d049bb133111eb;
return x ^ (x >> 31);
}
size_t operator() (uint64_t x) const
{
static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count();
return splitmix64(x + FIXED_RANDOM);
}
};
//arr
VLL a;
void init()
{
FORI(i, 1, 19)
{
ll t = 0;
FOR(j, i)
t = 10 * t + 1;
FORI(j, 1, 10)
a.pb(j * t);
}
sort(ALL(a));
}
void solve(istream R is, ostream R os)
{
ll n;
is >> n;
ll ind = upper_bound(ALL(a), n) - a.begin();
os << a[ind] << "\n";
}
void tester(istream R is, ostream R os)
{
fast
init();
ll q = 1;
is >> q;
os << setprecision(999);
Count(q)
solve(is, os);
}
int main()
{
//ifstream in("input.txt");
//ofstream out("output.txt");
tester(cin, cout);
}

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