QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#303589 | #7780. Dark LaTeX vs. Light LaTeX | PetroTarnavskyi# | WA | 1ms | 3628kb | C++20 | 2.0kb | 2024-01-12 19:22:48 | 2024-01-12 19:22:49 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define FOR(i, a, b) for(int i = (a); i < (b); i++)
#define RFOR(i, a, b) for(int i = (a) - 1; i >= (b); i--)
#define SZ(a) int(a.size())
#define ALL(a) a.begin(), a.end()
#define PB push_back
#define MP make_pair
#define F first
#define S second
typedef long long LL;
typedef vector<int> VI;
typedef pair<int, int> PII;
typedef double db;
const LL LINF = 1.1e18;
const int N = 52;
int n;
VI p, q;
LL dp[N][N][2];
void updAdd(LL& a, LL b)
{
a = min(a + b, LINF);
}
LL f()
{
FOR(i, 0, N)
FOR(j, 0, N)
FOR(dir, 0, 2)
dp[i][j][dir] = 0;
int cnt = n - SZ(p);
if (q[0] == -1)
{
FOR(j, 0, n)
FOR(dir, 0, 2)
dp[0][j][dir] = 1;
}
else
{
FOR(dir, 0, 2)
dp[0][0][dir] = 1;
}
FOR(i, 0, n)
{
if (q[i] == -1)
cnt--;
if (i == n - 1)
break;
FOR(j, 0, cnt + 1)
{
if (q[i] != -1 && q[i + 1] != -1)
{
int dir = q[i] < q[i + 1];
updAdd(dp[i + 1][0][dir ^ 1], dp[i][j][dir]);
continue;
}
if (q[i] != -1)
{
FOR(k, 0, cnt)
updAdd(dp[i + 1][k][0], dp[i][j][1]);
continue;
}
if (q[i + 1] != -1)
{
updAdd(dp[i + 1][0][1], dp[i][j][0]);
continue;
}
FOR(k, 0, cnt)
{
int dir = j <= k;
updAdd(dp[i + 1][k][dir ^ 1], dp[i][j][dir]);
}
}
}
assert(cnt == 0);
LL res = 0;
FOR(dir, 0, 2)
updAdd(res, dp[n - 1][0][dir]);
return res;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout << fixed << setprecision(15);
LL k;
cin >> n >> k;
q.assign(n, -1);
FOR(i, 0, n)
{
FOR(val, 0, n)
{
if (q[val] == -1)
{
p.PB(val);
q[val] = i;
LL cur = f();
if (cur < k)
{
k -= cur;
p.pop_back();
q[val] = -1;
}
else
{
break;
}
}
}
if (SZ(p) != i + 1)
{
cout << "-1\n";
return 0;
}
}
FOR(i, 0, n)
{
if (i)
cout << " ";
cout << p[i] + 1;
}
cout << "\n";
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 1ms
memory: 3628kb
input:
abab ab
output:
result:
wrong answer Answer contains longer sequence [length = 1], but output contains 0 elements