# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1233122 | fermat | parentrises (BOI18_parentrises) | C++20 | 0 ms | 0 KiB |
for (int i = n; i >= 1; i--)
{
mn[0] = min( mn[0], pref[0][i] );
mn[1] = min( mn[1], pref[1][i] );
if (s[i] == ')') continue;
if (mn[0] > 0 && bal1 > bal2)
{
ans[i] = 'B';
mn[0]--;
bal1--;
}
else if (mn[1] > 0)
{
ans[i] = 'R';
mn[1]--;
bal2--;
}
}
if (bal < 0 || bal > n) fl = 1;
reverse(s + 1, s + n + 1);
bal = 0;
for (int i = 1; i <= n; i++)
{
if ( s[i] == '(' )
bal--;
else
bal += 2;
if (bal < 0)
fl = 1;
}
if (bal < 0 || bal > n) fl = 1;
if (fl)
puts("impossible");
else
{
for (int i = 1; i <= n; i++)
printf("%c", ans[i]);
printf("\n");
}
}
}
}