#include <bits/stdc++.h> using namespace std; //mx 4 bity zapalone int n, poz, licb = 4; char s[8 * 100002]; int main() { scanf("%d %s", &n, s); for (int i = 0; i < 8 * n; ++i) { if (s[i] == '1') poz++; } poz -= n * 2; if (poz < n || poz > 4 * n) printf("NIE"); else { for (int i = 0; i < n; ++i) { while (licb > poz) licb--; if (poz - licb >= n - i - 1) { printf("%c", char(96 + (1 << licb) - 1)); poz -= licb; } else { licb--; i--; } } } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #include <bits/stdc++.h> using namespace std; //mx 4 bity zapalone int n, poz, licb = 4; char s[8 * 100002]; int main() { scanf("%d %s", &n, s); for (int i = 0; i < 8 * n; ++i) { if (s[i] == '1') poz++; } poz -= n * 2; if (poz < n || poz > 4 * n) printf("NIE"); else { for (int i = 0; i < n; ++i) { while (licb > poz) licb--; if (poz - licb >= n - i - 1) { printf("%c", char(96 + (1 << licb) - 1)); poz -= licb; } else { licb--; i--; } } } } |