結果
問題 | No.1651 Removing Cards |
ユーザー |
![]() |
提出日時 | 2021-08-20 22:15:31 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 4,522 bytes |
コンパイル時間 | 4,171 ms |
コンパイル使用メモリ | 254,472 KB |
最終ジャッジ日時 | 2025-01-23 23:38:34 |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 TLE * 15 |
ソースコード
#include "bits/stdc++.h"#include <atcoder/all>using namespace std;using namespace atcoder;using ll = long long;using vl = vector<long long>;using pl = pair<long long, long long>;using PQ = priority_queue<long long>;using PQR = priority_queue<long long, vector<long long>, greater<>>;struct edge {long long to;long long cost;edge(long long t,long long c):to(t),cost(c){}};using Graph = vector<vector<long long>>;using WGraph = vector<vector<edge>>;constexpr int dx[8]{1,0,-1,0,1,1,-1,-1};constexpr int dy[8]{0,1,0,-1,1,-1,1,-1};#define rep(i, n) for(long long (i) = 0; (i) < (n); (i)++)#define all(v) (v).begin(), (v).end()#define pb emplace_back#define V vector#define uniquify(vec) sort(all(vec)); (vec).erase(std::unique((vec).begin(), (vec).end()), (vec).end())constexpr long long MOD1 = 1e9 + 7;constexpr long long MOD9 = 998244353;constexpr long long INF = MOD1*MOD1+1;constexpr long long LL_MAX = std::numeric_limits<long long>::max();long long safe_mod(long long n, long long m){if(n >= 0) {return n % m;} else return (n%m + m)%m;}long long div_ceil(long long a, long long b){return (a + b - 1) / b;}long long DIG(long long x, long long d){ll ret=0;while(x){x/=d;ret++;}return ret;}long long pw(long long x,long long n) {ll ret=1;while(n>0){if(n&1){ret=ret*x;}if(n>>=1){x=x*x;}}return ret;}template<typename T> T SUM(const vector<T> &v){T ret{};return(accumulate(all(v), ret));}template<typename T> T pwmod(T x, long long n, long long m) {T ret=1;while(n>0){if(n&1)ret=ret*x%m;x=x*x%m;n>>=1;}return ret%m;}template<typename T> void rsort(vector<T> &v) {sort(all(v), greater<T>());}template<typename T> bool chmax(T &a,const T& b) {if(a<b){a=b;return true;}return false;}template<typename T> bool chmin(T &a,const T& b) {if(a>b){a=b;return true;}return false;}template<typename T> void fin(const T &a) {cout << a << '\n';exit(0);}template<typename T, typename S> pair<T, S> mp(const T &a, const S &b){return make_pair(a, b);}template<typename T> void unique(vector<T> &a){sort(all(a)); a.erase(std::unique(a.begin(), a.end()), a.end());}template<typename T> vector<int> compress(vector<T> &a){int n = a.size(); vector<int> ret(n); vector<T> temp = a; unique(a);for(int i = 0; i < n; i++) ret[i] = lower_bound(a.begin(), a.end(), temp[i]) - a.begin();return ret;}std::ostream &operator<<(std::ostream& os, const modint1000000007 &m){os << m.val();return os;}std::ostream &operator<<(std::ostream& os, const modint998244353 &m){os << m.val();return os;}template<typename T, typename S>std::ostream &operator<<(std::ostream& os, const pair<T, S> &p){os << "(" << p.first << ", " << p.second << ")";return os;}template <typename T>std::ostream &operator<<(std::ostream& os, const vector<T> &v){int n = v.size();os << "[";for(int i = 0; i < n; i++){if(i == n - 1) os << v[i];else os << v[i] << ", ";}os << "]";return os;}template <typename T, typename S>std::ostream &operator<<(std::ostream& os, const map<T, S> &mp){for(auto iter = mp.begin(); iter != mp.end(); iter++){os << "(" << iter->first << ", " << iter->second << ")" << " ";}return os;}template <typename T>std::ostream &operator<<(std::ostream& os, const set<T> &s){os << "{";for(auto c : s) os << c << " ";os << "}";return os;}//#define LOCAL#ifdef LOCAL#define dump(x) cerr << __LINE__ << " : " << #x << " = " << (x) << endl#else#define dump(x) true#endif//using mint = modint1000000007;//using mint = modint998244353;void solve(){ll k, q; cin >> k >> q;/*for(ll n = 1; n <= 200; n++){vl a(n);iota(all(a), 1);while(a.size() >= 2){//dump(a);vl b;for(ll i = 0; i < a.size(); i++){if(i % k == 0) continue;b.pb(a[i]);}swap(a, b);}cout << n << '\n';cout << a << '\n';cout << '\n';}*/V<vl> table(64, vl(64));//rep(_, q){ll n; cin >> n;ll a = 1;for(ll i = 2;; i++){ll b = div_ceil(a * k, (k-1));dump(a);dump(b);swap(a, b);if(a > n){cout << b << '\n';break;}}}}int main() {cin.tie(nullptr);ios::sync_with_stdio(false);cout << std::fixed << std::setprecision(15);solve();return 0;}