求助大佬,不知道怎么优化
查看原帖
求助大佬,不知道怎么优化
544007
lhs_chris楼主2023/1/18 22:25
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1e5;
int n,m;
struct abc
{
	int con,id;
}a[N],b[N];
bool cmp(abc a,abc b)
{
	if(a.con!=b.con) return a.con<b.con;
	else return a.id<b.id;
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i].con;
		a[i].id=i;
		b[i].con=a[i].con;
		b[i].id=i;
	}
	sort(a+1,a+n+1,cmp);
//	for(int i=1;i<=n;i++)
//	{
//		cout<<a[i].con<<" "; 
//	}
	for(int i=1;i<=m;i++)
	{
		int x;
		cin>>x;
		if(x==1)
		{
			int y,z; 
			cin>>y>>z;
			b[y].con=z;
			int Q;
			for(int j=1;j<=n;j++)
			{
				if(b[y].id==a[j].id){
					Q=j;
					break;
				}
			}
			a[Q].con=z;
			 
//			for(int i=1;i<=n;i++)
//			{
//				cout<<a[i].con<<" ";
//			 } 
			sort(a+1,a+n+1,cmp);
		}
		if(x==2)
		{
			int y;
			scanf("%d",&y);//cin>>y;
			for(int j=1;j<=n;j++)
			{
				if(b[y].con==a[j].con and b[y].id==a[j].id)
				{
					cout<<b[j].id<<"\n";	
				}	
			}
		}
	}
}

1~19AC
20~25TLE

不知道怎么优化

2023/1/18 22:25
加载中...