社区讨论

76分求助!c++

P7910[CSP-J 2021] 插入排序参与者 3已保存回复 5

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
5 条
当前快照
1 份
快照标识符
@lo27l14s
此快照首次捕获于
2023/10/23 09:18
2 年前
此快照最后确认于
2023/11/03 09:32
2 年前
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;
int n,q;
int a[8010];
int main()
{
	cin>>n>>q;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
	} 
	while(q--)
	{
		int k,x,v;
		cin>>k;
		if(k==1)       //修改 
		{
			cin>>x>>v;
			a[x]=v;    //修改 
		}
		else           //查询 
		{
			cin>>x;
			//查询a[x]排完序的新位置
			//稳定排序
			//如果采用插入排序n^2
			//查找
			int c=0,d=0;
			for(int i=1;i<x;i++)
			{
				if(a[i]>a[x])
				{
					c++;
				}	
			} 
			for(int i=x+1;i<=n;i++)
			{
				if(a[i]<a[x])
				{
					d++; 
				}
			}
			cout<<x-c+d<<endl; 
		}
	}
	return 0;
}

回复

5 条回复,欢迎继续交流。

正在加载回复...