Submission #2558623
Source Code Expand
#include<bits/stdc++.h> using namespace std; using ll = long long; // #undef DEBUG // #define DEBUG /// {{{ DEBUG --- /// template <typename T> ostream &operator<<(ostream &o, const vector<T> &v) { if(&o == &cerr) { o << '{'; for(size_t i = 0; i < v.size(); i++) o << v[i] << (i + 1 != v.size() ? ", " : ""); o << "}"; } else { for(size_t i = 0; i < v.size(); i++) o << v[i] << (i + 1 != v.size() ? " " : ""); } return o; } #ifdef DEBUG #define dump(...) (cerr<<"["<<__LINE__<< "] "<<#__VA_ARGS__<<" = "<<make_tuple(__VA_ARGS__)<<"\n") template<int n, class...T> typename enable_if<(n>=sizeof...(T))>::type _ot(ostream &, tuple<T...> const &){} template<int n, class...T> typename enable_if<(n< sizeof...(T))>::type _ot(ostream & os, tuple<T...> const & t){ os << (n==0?"":", ") << get<n>(t); _ot<n+1>(os, t); } template<class...T> ostream & operator<<(ostream &o, tuple<T...> const &t){ o << "("; _ot<0>(o, t); o << ")"; return o; } #else #define dump(...) (0) #endif /// }}}--- /// const int N = 3e5 + 10; ll a[N]; int main() { ios::sync_with_stdio(false), cin.tie(0); ll k, n; cin >> k >> n; a[0] = 1; for(int i = 1; i <= n; i++) { a[i] = a[i - 1] * k; if(a[i] > n) break; } for(int i = 1; i <= n; i++) if(a[i] != 0) a[i] += a[i - 1]; vector<int> ans; if(k % 2 == 0) { ans.emplace_back(k / 2); for(int i = 0; i < n - 1; i++) ans.emplace_back(k); } else { ll bias = 0; for(int i = 0; i < n; i++) { if(a[n - 1 - i] == 0) { ans.emplace_back((k + 1) / 2); bias = -i; } else { int ok = k, ng = i ? -1 : 0; while(ok - ng > 1) { int mid = (ok + ng) >> 1; ll bf = !!i + a[n - 1 - i] * mid; ll af = bias + a[n - 1 - i] * (k - mid); if(bf >= af) ok = mid; else ng = mid; } dump(ok); if(ok == 0) break; ans.emplace_back(ok); ll bf = !!i + a[n - 1 - i] * ok; ll af = bias + a[n - 1 - i] * (k - ok); bias = af - (bf - a[n - 1 - i]); } } } cout << ans << endl; }
Submission Info
Submission Time | |
---|---|
Task | E - Finite Encyclopedia of Integer Sequences |
User | luma |
Language | C++14 (GCC 5.4.1) |
Score | 800 |
Code Size | 2123 Byte |
Status | AC |
Exec Time | 27 ms |
Memory | 3704 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 800 / 800 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | s1.txt, s2.txt, s3.txt |
All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, s1.txt, s2.txt, s3.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01.txt | AC | 15 ms | 3704 KB |
02.txt | AC | 1 ms | 256 KB |
03.txt | AC | 1 ms | 256 KB |
04.txt | AC | 1 ms | 256 KB |
05.txt | AC | 1 ms | 256 KB |
06.txt | AC | 15 ms | 3704 KB |
07.txt | AC | 19 ms | 1780 KB |
08.txt | AC | 24 ms | 2420 KB |
09.txt | AC | 19 ms | 1780 KB |
10.txt | AC | 27 ms | 3568 KB |
11.txt | AC | 27 ms | 3568 KB |
12.txt | AC | 8 ms | 1144 KB |
13.txt | AC | 12 ms | 1656 KB |
14.txt | AC | 5 ms | 764 KB |
15.txt | AC | 1 ms | 256 KB |
16.txt | AC | 1 ms | 256 KB |
17.txt | AC | 1 ms | 256 KB |
18.txt | AC | 1 ms | 256 KB |
19.txt | AC | 1 ms | 256 KB |
20.txt | AC | 21 ms | 2932 KB |
21.txt | AC | 2 ms | 384 KB |
22.txt | AC | 2 ms | 384 KB |
23.txt | AC | 20 ms | 2676 KB |
24.txt | AC | 10 ms | 1400 KB |
25.txt | AC | 24 ms | 2420 KB |
26.txt | AC | 8 ms | 892 KB |
27.txt | AC | 11 ms | 1144 KB |
28.txt | AC | 10 ms | 1016 KB |
s1.txt | AC | 1 ms | 256 KB |
s2.txt | AC | 1 ms | 256 KB |
s3.txt | AC | 1 ms | 256 KB |