我考场代码长这样,能得几分?
查看原帖
我考场代码长这样,能得几分?
216248
gzf2008楼主2021/10/23 15:57
#include<bits/stdc++.h>
using namespace std;
int a[10010];
struct stu
{
	int id,num;
}s[10010];
bool cmp(stu a1,stu a2)
{
	if(a1.num<a2.num) return 1;
	else if(a1.num==a2.num) return a1.id<a2.id;
	return 0;
}
int main()
{
	freopen("sort.in","r",stdin);
	freopen("sort.out","w",stdout);
	ios::sync_with_stdio(false);
	cin.tie(0);cout.tie(0);
	int n,Q,opt,x,y;
	cin>>n>>Q;
	for(int i=1;i<=n;i++){cin>>a[i];s[i].num=a[i],s[i].id=i;}
	sort(s+1,s+n+1,cmp);
	while(Q--)
	{
		cin>>opt>>x;
		if(opt==1)
		{
			cin>>y;
			a[x]=y;
			for(int i=1;i<=n;i++)s[i].num=a[i],s[i].id=i;
			sort(s+1,s+n+1,cmp);
		}
		else if(opt==2) for(int i=1;i<=n;i++)if(s[i].id==x){cout<<i<<endl;break;}
	}
	return 0;
}
2021/10/23 15:57
加载中...