Submission #85828

# Submission time Handle Problem Language Result Execution time Memory
85828 2018-11-21T20:19:17 Z MatesV13 ZigZag (COCI17_zigzag) C++11
80 / 80
322 ms 11164 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();
	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 + "zzzzzzzzzzzzzzzzzzzzzzz";
		its1 = s.lower_bound(y);
		its2 = s.lower_bound(z);
		if (its1 == its2){
			ita1 = a.lower_bound(y);
			ita2 = a.lower_bound(z);
			while (ita1 !=  ita2){
				if (ita1 == a.end()) break;
				s.insert(*ita1);
				a.erase(ita1);
				ita1 = a.lower_bound(y);
				ita2 = a.lower_bound(z);
			}
			its1 = s.lower_bound(y);	
		}
		cout << "\n" << *its1;
		a.insert(*its1);
		s.erase(its1);
	}
return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 508 KB Output is correct
3 Correct 2 ms 576 KB Output is correct
4 Correct 2 ms 576 KB Output is correct
5 Correct 2 ms 672 KB Output is correct
6 Correct 2 ms 672 KB Output is correct
7 Correct 308 ms 11020 KB Output is correct
8 Correct 322 ms 11164 KB Output is correct
9 Correct 305 ms 11164 KB Output is correct
10 Correct 316 ms 11164 KB Output is correct