Submission #85827

#TimeUsernameProblemLanguageResultExecution timeMemory
85827l_zgZigZag (COCI17_zigzag)C++14
80 / 80
333 ms17336 KiB
#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;
}
#Verdict Execution timeMemoryGrader output
Fetching results...