#include <bits/stdc++.h>
using namespace std;
long long k, n;
set<string> s, a;
string x, y, z;
int main (){
ios::sync_with_stdio(0);
cin.tie(0);
cin >> k >> n;
for (int i=0;i<k;i++){
cin >> x;
s.insert(x);
}
set<string>::iterator its1 = s.begin(),lik;
set<string>::iterator its2 = s.begin();
set<string>::iterator ita1 = a.begin();
set<string>::iterator ita2 = a.begin();
for (int i=0;i<n;i++){
cin >> y;
z = y + "zzzzzzzzzzzzzzzzzzzzzzzzz";
its1 = s.lower_bound(y);
its2 = s.lower_bound(z);
// lik = a.begin();
// while ( lik != a.end() ){
// cout << *lik << " ";
// lik ++;
// }
// cout << endl;
if (its1 == its2){
ita1 = a.lower_bound(y);
ita2 = a.lower_bound(z);
while (ita1 != ita2){
s.insert(*ita1);
a.erase(ita1);
ita2 = a.lower_bound(z);
ita1 = a.lower_bound(y);
}
its1 = s.lower_bound(y);
}
cout << "\n" << *its1;
a.insert(*its1);
s.erase(its1);
}
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
3 ms |
376 KB |
Output is correct |
2 |
Correct |
2 ms |
464 KB |
Output is correct |
3 |
Correct |
3 ms |
472 KB |
Output is correct |
4 |
Correct |
3 ms |
604 KB |
Output is correct |
5 |
Correct |
12 ms |
604 KB |
Output is correct |
6 |
Correct |
3 ms |
604 KB |
Output is correct |
7 |
Correct |
287 ms |
12696 KB |
Output is correct |
8 |
Correct |
308 ms |
14148 KB |
Output is correct |
9 |
Correct |
315 ms |
15960 KB |
Output is correct |
10 |
Correct |
333 ms |
17336 KB |
Output is correct |