洛谷神机,别的OJ上TLE求条
查看原帖
洛谷神机,别的OJ上TLE求条
1395068
LiyingshuoBaoling楼主2025/7/25 16:14

666666 洛谷肯定开桂了

#include <bits/stdc++.h> 
using namespace std;
int n,q;
int a[8010],v[8010];
bool flag[8010][8010];
int main()
{
	scanf("%d %d",&n,&q); 
	for(int i=1;i<=n;i++)scanf("%d",&a[i]);
	for(int i=1;i<=n;i++)
	{
		v[i]=1;
		for(int j=1;j<=n;j++)
		{
			if(a[i]>a[j] || (a[i]==a[j] && i>j))
			{
				v[i]++;
				flag[i][j]=true;
			}
		}
	}
	while(q--)
	{
		int op,x,y;
		scanf("%d",&op);
		if(op==1)
		{
			scanf("%d %d",&x,&y);
			a[x]=y;
			v[x]=1;
			for(int i=1;i<=n;i++)
			{
				if(a[i]<a[x] || (a[i]==a[x] && i<x))
				{
					v[x]++;
					flag[x][i]=1;
				}
				else
				{
					flag[x][i]=0;
				 } 
			}
			for(int i=1;i<=n;i++)
			{
				if(flag[i][x] && (a[i]<a[x] || (a[i]==a[x] && i<x)))
				{
					v[i]--;
					flag[i][x]=0;
				}
				else if((!flag[i][x]) && (a[i]>a[x] || (a[i]==a[x] && i>x)))
				{
					v[i]++;
					flag[i][x]=1;
				}
			}
		}
		else
		{
			scanf("%d",&x);
			printf("%d\n",v[x]);
		}
	}
	return 0;
}
2025/7/25 16:14
加载中...