정올문제풀이
4639 : Tutorial: STL Set 3
파아란기쁨1
2022. 10. 23. 13:51
반응형
https://jungol.co.kr/bbs/board.php?bo_table=pbank&code=4639&sca=5010
JUNGOL
www.jungol.co.kr
#include <bits/stdc++.h>
using namespace std;
int main()
{
set <int> s;
int n;
cin >> n;
set<int>::iterator it,p,b;
while(n--){
char cmd;
int a;
cin >> cmd >> a;
if(cmd == 'i') s.insert(a);
else if(cmd == 'r') s.erase(a);
else if(cmd == 'f'){
it = s.find(a);
if(it != s.end()){
if(it!=s.begin()){
p = prev(it);
b = next(it);
if(b != s.end()){
if(abs(*p-a)<=abs(*b-a)) cout << *p << "\n";
else cout <<*b<< "\n";
}
else cout << *p<< "\n";
}
else{
b = next(it);
if(b != s.end()){
cout << *b<< "\n";
}
else cout << "UNIQUE\n";
}
}
else {
cout << "NOPE\n";
}
}
}
return 0;
}
iterator 를 사용하여 찾는 위치를 찾은 후 prev 또는 next 를 사용하여 주변의 값을 찾는다.
반응형