记录编号 573802 评测结果 AAAAAAAAAAAAAAAAAAAAAAAAA
题目名称 [CSP 2021J]插入排序 最终得分 100
用户昵称 Gravatar0429 是否通过 通过
代码语言 C++ 运行时间 6.662 s
提交时间 2022-07-28 09:31:26 内存使用 3.71 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n,q,a[8005],b[8005],num,x,v,ans;
int main()
{
		freopen("csp2021pj_sort.in", "r", stdin);
	 freopen("csp2021pj_sort.out", "w", stdout);
	cin>>n>>q;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=i;j++)
		{
			if(i==j||a[j]<a[i]||a[j]==a[i])b[i]++;
			else b[j]++;
		}
	}
	for(int i=0;i<q;i++)
	{
		cin>>num;
		if(num==1)
		{
			cin>>x;
			cin>>v;
			for(int i=1;i<=n;i++)
			{
				if(i==x)continue;
				if((a[i]<a[x]||a[i]==a[x]&&i<x)&&(a[i]>v||a[i]==v&&i>x))
				{
					b[i]++;b[x]--;
				}
				else if((a[i]>a[x]||a[i]==a[x]&&i>x)&&(a[i]<v||a[i]==v&&i<x))
				{
					b[i]--;b[x]++;
				}
			}
			a[x]=v;
		}
		if(num==2)
		{
			cin>>x;
			cout<<b[x]<<endl;
		}
	}return 0;}