求助,样例过了,结果2TLE+23RE
查看原帖
求助,样例过了,结果2TLE+23RE
565707
mediocre_楼主2022/8/16 10:43
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 6;
int n, m;
int a[N], b[N];
int main() {
	scanf("%d%d", &n, &m);
	for (int i = 1; i <= n; ++i) {
		scanf("%d", &a[i]);
		b[i] = a[i];
	}
	for (int i = 1; i <= m; ++i) {
		int f;
		scanf("%d", &f);
		if (f == 1) {
			int x, u;
			scanf("%d%d", &x, &u);
			int ans = a[x];
			a[x] = a[u];
			a[u] = ans;
			int flag = b[x];
			b[x] = b[u];
			b[u] = flag;
		} else {
			int x;
			scanf("%d", &x);
			int ans = a[x];
			for (int i = 1; i <= n; i++) {
				for (int j = i; j >= 2; j--) {
					if (a[j] < a[j - 1]) {
						int t = a[j - 1];
						a[j - 1] = a[j];
						a[j] = t;
					}
				}
			}
			for (int i = 1; i <= n; ++i) {
				if (a[i] == ans) {
					printf("%d\n", i);
					break;
				}
			}
			for (int i = 1; i <= n; ++i) {
				a[i] = b[i];
			}
		}
	}
	return 0;
}

提交记录

2022/8/16 10:43
加载中...