3-й этап Республиканской олимпиады по информатике 2021-2022, 2 тура
Есеп C. Cөзді табу
Ограничение по времени:
3 seconds
Ограничение по памяти:
256 megabytes
Сізге ұзындығы n болатын, кіші латын әріптері және `?' таңбаларынан тұратын s сөзі беріледі. Сондай-ақ, сізде m шарт бар. Әр шарт l1, l2 және x үш бүтін сандарымен сипатталады. Бұл шарт (sl1…sl1+x−1) ішкі жолы (sl2…sl2+x−1) ішкі жолына тең болу керек екенін білдіреді. Бүкіл m шарт орындалатындай, әрбір `?' таңбасын кіші латын әріпіне ауыстыру керек. Барлық шарттарды қанағаттандыратын сөздердің ішінен лексикографиялық минималды сөзді табыңыз. a сөзі b сөзінен лексикографиялық кіші, егер
- немесе бастапқы k символ бірдей , ал aның k+1-ші символы алфавитте bның k+1-ші символын ерте болады. Мысалы, abcdef<abdaaaa, бірінші екі символдары бірдей, ал бірінші сөздің үшінші әрпі ('c') екінші сөздің үшінші әрпінен ('d') алфавитте ерте кездеседі.
- немесе a сөзі b сөзінің префиксі. Мысалы, abc<abcde.
Формат входного файла
Бірінші жолда n(1<=n<=300000) бүтін саны берілген.
Екінші жолда ұзындығы n болатын s сөзі берілген.
Үшінші жолда m(1<=m<=300000) бүтін саны берілген.
Келесі m жолда l1, l2 және x (1<=l1,l2<=n−x+1) үш бүтін сандары берілген. Бұл үштік (sl1…sl1+x−1) ішкі жолы (sl2…sl2+x−1) ішкі жолына тең болу керек екенін білдіреді.
Формат выходного файла
Барлық шарттарды қанағаттандыратын лексикографиялық минималды сөзді шығарыңыз. Егер мұндай сөз болмаса, −1 шығырыңыз.
Примеры:
Вход 10 a?b?b???b? 3 1 4 3 7 9 2 3 10 1Ответ
abbabbbbbbВход
6 a????b 5 1 2 1 2 3 1 3 4 1 4 5 1 5 6 1Ответ
-1( Narkhan Kamzabek )
Комментарий/решение:
Возможно, что при неправильном наборе формул, они будут
доредактированы модератором. При этом содержание не будет меняться.