大佬帮忙看看为什么T了
查看原帖
大佬帮忙看看为什么T了
782631
shengmin楼主2023/10/13 11:06

#include<bits/stdc++.h>
using namespace std;
int n, q, x, y, z;
struct node {
	int id, s;
} a[8005];
int cmp(node b, node c) {
	if (b.s == c.s)return b.id < c.id;
	return b.s < c.s;
}
int main() {
//	freopen("sort.in","r",stdin);
//	freopen("sort.out","w",stdout);
	cin >> n >> q;
	for (int i = 1; i <= n; i++) {
		cin >> a[i].s;
		a[i].id = i;
	}
	for (int k = 1; k <= q; k++) {
		cin >> x;
		if (x == 2) { //输出
			cin >> y;
			sort(a + 1, a + 1 + n, cmp); //排序
			for (int i = 1; i <= n; i++) { //查找id为y的值当前所在的位置,并输出这个值当前所在的位置
				if (a[i].id == y) {
					cout << i << endl; //找到了,输出
					break;
				}
			}
		} else { //修改
			cin >> y >> z;
			for (int i = 1; i <= n; i++) { //查找id为y的值当前所在的位置,并修改这个值,改为z
				if (a[i].id == y) {
					a[i].s = z; //找到了,更换
					break;
				}
			}
		}
	}
}
2023/10/13 11:06
加载中...