Submission #156425

#TimeUsernameProblemLanguageResultExecution timeMemory
156425MosesTavan (COCI16_tavan)C++14
80 / 80
2 ms376 KiB
// Created by AboAbdoMC #include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #define db1(x) cout<<#x<<"="<<x<<'\n' #define db2(x,y) cout<<#x<<"="<<x<<","<<#y<<"="<<y<<'\n' #define db3(x,y,z) cout<<#x<<"="<<x<<","<<#y<<"="<<y<<","<<#z<<"="<<z<<'\n' #define rep(i,n) for(int i=0;i<(n);++i) #define repA(i,a,n) for(int i=a;i<=(n);++i) #define repD(i,a,n) for(int i=a;i>=(n);--i) #define f first #define s second #define pb push_back #define mp make_pair #define ll long long using namespace std; using namespace __gnu_pbds; typedef tree<int,null_type,less<int>,rb_tree_tag,tree_order_statistics_node_update> indexed_set; const int OO = 1e9+7; const int MOD = 1e9+7; const int N = 5e2+7; string ss[N]; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n,m,k,x; cin >> n >> m >> k >> x; x--; string s; cin >> s; rep(i,m) { cin >> ss[i]; sort(ss[i].begin(),ss[i].end()); } ll tmp = 1; int j = m-1; repD(i,n-1,0) { if (s[i] == '#') { s[i] = ss[j][(x/tmp)%k]; j--; tmp *= k; if (tmp > x) tmp = OO; } } cout << s << '\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...