76分RE求大神帮助
查看原帖
76分RE求大神帮助
396428
南宫铱星楼主2023/10/8 15:04

rt

#include <bits/stdc++.h>
using namespace std;
const int MAXN = 8001;
int arr[MAXN], ans[MAXN],ans_p = 0;
void change(){
	//将数组arr中的第x个数字改成v
	int x, v;
	cin >> x >> v;
	arr[x] = v;
}
void search(int n){
	//寻找数组arr中第x个数字并保存在ret中 
	int x, ret;
	cin >> x;
	ret = x;
	//arr[x]左边出现比它大的数字则ret-1 
	for(int i = x - 1; i > 0; i--)
		if(arr[i] > arr[x])ret--;
	//arr[x]左边出现比它小的数字则ret+1 
	for(int i = x + 1; i <= n; i++)
		if(arr[i] < arr[x])ret++;
	ans[++ans_p] = ret;
}
int main(){
	int n,q,a;
	cin >> n >> q;
	for(int i = 1; i <= n; i++)cin >> arr[i];
	for(int i = 1; i <= q; i++){
		cin >> a;
		if(a == 1)change();
		if(a == 2)search(n);
	}
	for(int i = 1; i <= ans_p; i++)cout << ans[i] << endl;
}

从第20组数据开始就re了不知道该怎么改进求各位大神支招

2023/10/8 15:04
加载中...