답안 #85827

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
85827 2018-11-21T19:38:43 Z l_zg ZigZag (COCI17_zigzag) C++14
80 / 80
333 ms 17336 KB
#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