64分求助
查看原帖
64分求助
735256
xuzixun121109楼主2024/10/5 10:42

64分求助大佬

#include <iostream>
#include <algorithm>

using namespace std;

struct node
{
	int id, num;
}a[8010];

int n, q;
bool cmp(node a, node b)
{
	if (a.num == b.num) return a.id < b.id;
	else return a.num < b.num;
}

int main()
{
	cin >> n >> q;
	for (int i = 1; i <= n; i ++ )
	{
		cin >> a[i].num;
		a[i].id = i;
	}
	
	sort (a + 1, a + 1 + n, cmp);
	int op, u, v;
	
	while (q -- )
	{
		scanf ("%d", &op);
		
		if (op == 1)
		{
			scanf ("%d%d", &u, &v);
			for (int i = 1; i <= n; i ++ )
			{
				if (a[i].id == u)
				{
					a[i].num = v;
					break;
				}
			}
			
			sort (a + 1, a + 1 + n, cmp);
		}
		
		else
		{
			scanf ("%d", &u);
			
			for (int i = 1; i <= n; i ++ )
			{
				if (a[i].id == u)
				{
					cout << i << endl;
				}
			}
		}
	 } 
}
2024/10/5 10:42
加载中...