#include<bits/stdc++.h>
#define ll long long
#define pb push_back
#define F first
#define S second
#define coy cout<<"YES\n"
#define con cout<<"NO\n"
#define co1 cout<<"-1\n"
using namespace std;
const int SI=3e5+7;
ll INF=8e18+7;
int MOD=1e9+7;
ll n,m;
string s;
set <pair < ll,string > >se[30];
int main()
{
cin>>n>>m;
while (n--)
{
cin>>s;
int u=s[0]-'a';
se[u].insert({0,s});
}
while (m--)
{
char c;
cin>>c;
string w=(*se[c-'a'].begin()).S;
ll e=(*se[c-'a'].begin()).F;
cout <<w<<"\n";
se[c-'a'].erase(se[c-'a'].begin());
se[c-'a'].insert({e+1,w});
}
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
296 KB |
Output is correct |
2 |
Correct |
1 ms |
300 KB |
Output is correct |
3 |
Correct |
2 ms |
296 KB |
Output is correct |
4 |
Correct |
1 ms |
296 KB |
Output is correct |
5 |
Correct |
1 ms |
304 KB |
Output is correct |
6 |
Correct |
2 ms |
332 KB |
Output is correct |
7 |
Correct |
298 ms |
12308 KB |
Output is correct |
8 |
Correct |
289 ms |
12380 KB |
Output is correct |
9 |
Correct |
279 ms |
12316 KB |
Output is correct |
10 |
Correct |
318 ms |
12216 KB |
Output is correct |