Submission #65066715


Source Code Expand

#pragma GCC optimize("Ofast","unroll-all-loops","fast-math","no-stack-protector")
// #include <bits/stdc++.h>
#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
#include <string>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <unordered_map>
#include <unordered_set>

using namespace std;
#define fi first
#define se second
#if 1
void __print(int x) {cerr << x;}
void __print(long x) {cerr << x;}
void __print(long long x) {cerr << x;}
void __print(unsigned x) {cerr << x;}
void __print(unsigned long x) {cerr << x;}
void __print(unsigned long long x) {cerr << x;}
void __print(float x) {cerr << x;}
void __print(double x) {cerr << x;}
void __print(long double x) {cerr << x;}
void __print(char x) {cerr << '\'' << x << '\'';}
void __print(const char *x) {cerr << '\"' << x << '\"';}
void __print(const string &x) {cerr << '\"' << x << '\"';}
void __print(bool x) {cerr << (x ? "true" : "false");}
template<typename T, typename V>
void __print(const pair<T, V> &x) {cerr << '{'; __print(x.first); cerr << ','; __print(x.second); cerr << '}';}
template<typename T>
void __print(const T &x) {int f = 0; cerr << '['; for (auto &i: x) cerr << (f++ ? "," : ""), __print(i); cerr << "]";}
void _print() {cerr << endl << flush;}
template <typename T, typename... V>
void _print(T t, V... v) {__print(t); if (sizeof...(v)) cerr << ", "; _print(v...);}
#define DEBUG(x...) cerr << "*["<<__LINE__<<"]\t"<< #x << " = "; _print(x)
template<class T>
istream& operator>>(istream& is, vector<T>& v) {
	int n; is>>n; v.resize(n);
	for(auto &i:v) is>>i;
	return is;
}
template<class T1,class T2>
istream& operator>>(istream& is, pair<T1,T2>& p) {
	is>>p.fi>>p.se;
	return is;
}
template<class T>
ostream& operator<<(ostream& os, const vector<T>& v) {
	for(const auto &i:v) os<<i<<' ';
	return os;
}
template<class T1,class T2>
ostream& operator<<(ostream& os, const pair<T1,T2>& p) {
	os<<p.fi<<' '<<p.se; return os;
}
#endif
 
#define ll long long
#define mp make_pair
#define pb push_back
#define vi vector<ll>
#define pi pair<int, int>
#define L __int128
template<typename T> bool chkmin(T &a, T b){return (b < a) ? a = b, 1 : 0;}
template<typename T> bool chkmax(T &a, T b){return (b > a) ? a = b, 1 : 0;}

const int maxn = 105;
ll cnt[maxn][maxn];
int main() {
    int n;
    ll k;
    cin >> n >> k;
    k -= 1;
    cnt[1][1] = k;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= n; j++) {
            if (i + j == 2 * n) break;
            ll ds = 0, rs = 0, cur = cnt[i][j];
            if (i + j <= n) {
                // i * D + j * R
                ll pr = cur / (i + j);
                cur -= pr * (i + j);
                ds += pr * i;
                rs += pr * j;
                for (int m = 1; m <= cur; m++) {
                    if (m <= i) ds++;
                    else rs++;
                }
            }
            else {
                // (n - j) * R + (n - i) * D
                ll pr = cur / (n - i + n - j);
                cur -= pr * (n - i + n - j);
                ds += pr * (n - i);
                rs += pr * (n - j);
                for (int m = 1; m <= cur; m++) {
                    if (m <= n - j) rs++;
                    else ds++;
                }
            }
            cnt[i + 1][j] += ds;
            cnt[i][j + 1] += rs;
        }
    int i = 1, j = 1;
    while (i + j < 2 * n) {
        int mv = 0;
        if (i == n) mv = 1;
        else if (j == n) mv = 0;
        else {
            if (cnt[i + 1][j] <= cnt[i][j + 1]) mv = 0;
            else mv = 1;
        }
        if (mv == 0) {
            i++;
            cout << "D";
        }
        else {
            j++;
            cout << "R";
        }
    }
    cout << endl;
    return 0;
}

Submission Info

Submission Time
Task C - Human Exercise
User newbiedmy
Language C++ 20 (gcc 12.2)
Score 1100
Code Size 3882 Byte
Status AC
Exec Time 2 ms
Memory 3736 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 1100 / 1100
Status
AC × 2
AC × 50
Set Name Test Cases
Sample sample-01.txt, sample-02.txt
All 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, 02-16.txt, 02-17.txt, 02-18.txt, 02-19.txt, 02-20.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, 03-08.txt, sample-01.txt, sample-02.txt
Case Name Status Exec Time Memory
01-01.txt AC 1 ms 3508 KiB
01-02.txt AC 1 ms 3384 KiB
01-03.txt AC 1 ms 3472 KiB
01-04.txt AC 1 ms 3508 KiB
01-05.txt AC 1 ms 3452 KiB
01-06.txt AC 1 ms 3576 KiB
01-07.txt AC 1 ms 3512 KiB
01-08.txt AC 1 ms 3472 KiB
01-09.txt AC 1 ms 3456 KiB
01-10.txt AC 1 ms 3452 KiB
01-11.txt AC 1 ms 3520 KiB
01-12.txt AC 1 ms 3488 KiB
01-13.txt AC 1 ms 3604 KiB
01-14.txt AC 1 ms 3608 KiB
01-15.txt AC 1 ms 3484 KiB
01-16.txt AC 2 ms 3516 KiB
01-17.txt AC 1 ms 3532 KiB
01-18.txt AC 2 ms 3580 KiB
01-19.txt AC 2 ms 3652 KiB
01-20.txt AC 2 ms 3736 KiB
02-01.txt AC 1 ms 3656 KiB
02-02.txt AC 1 ms 3448 KiB
02-03.txt AC 1 ms 3572 KiB
02-04.txt AC 1 ms 3504 KiB
02-05.txt AC 1 ms 3464 KiB
02-06.txt AC 1 ms 3512 KiB
02-07.txt AC 1 ms 3464 KiB
02-08.txt AC 1 ms 3512 KiB
02-09.txt AC 1 ms 3580 KiB
02-10.txt AC 1 ms 3472 KiB
02-11.txt AC 1 ms 3576 KiB
02-12.txt AC 1 ms 3572 KiB
02-13.txt AC 1 ms 3508 KiB
02-14.txt AC 1 ms 3444 KiB
02-15.txt AC 1 ms 3512 KiB
02-16.txt AC 1 ms 3504 KiB
02-17.txt AC 1 ms 3468 KiB
02-18.txt AC 1 ms 3452 KiB
02-19.txt AC 1 ms 3516 KiB
02-20.txt AC 1 ms 3580 KiB
03-01.txt AC 1 ms 3508 KiB
03-02.txt AC 1 ms 3652 KiB
03-03.txt AC 1 ms 3480 KiB
03-04.txt AC 1 ms 3464 KiB
03-05.txt AC 2 ms 3492 KiB
03-06.txt AC 2 ms 3528 KiB
03-07.txt AC 1 ms 3468 KiB
03-08.txt AC 2 ms 3488 KiB
sample-01.txt AC 1 ms 3520 KiB
sample-02.txt AC 1 ms 3512 KiB