0分求助,我用set容器能够自动排序,不知道拿错了
查看原帖
0分求助,我用set容器能够自动排序,不知道拿错了
1217129
data740楼主2024/9/20 20:33
#include<iostream>
#include<set>
using namespace std;

set<int> s;
int q, op, x;

int main()
{
	cin >> q;
	while (q--)
	{
		cin >> op >> x;
		if (op == 1)
		{
			if (s.count(x) == 1)
			{
				auto it = s.begin();
				int i = 1;
				for (; it != s.end(); it++)
				{
					if (*it != x)i++;
					else cout << i << endl;
				}
			}
		}

		else if (op == 2)
		{
			auto it = s.begin();
			while (--x)
			{
				it++;
			}
			cout << *it << endl;
		}

		else if (op == 3)
		{
			auto it = s.begin();
			bool flag = 0;
			for (; it != s.end(); it++)
			{
				if (*it == x) 
				{
					flag = 1;
					cout << *(--it) << endl;
					break;
				}
			}
			if (flag == 0)cout << -2147483647 << endl;
		}

		else if (op == 4)
		{
			auto it = s.begin();
			bool flag = 0;
			for (; it != s.end(); it++)
			{
				if (*it == x)
				{
					flag = 1;
					cout << *(++it) << endl;
					break;
				}
			}
			if (flag == 0)cout << 2147483647 << endl;
		}

		else
		{
			s.insert(x);
		}
	}
}
2024/9/20 20:33
加载中...