听说灌水区大佬多调代码MSE06H - Japan
  • 板块灌水区
  • 楼主Eden2027
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/1/23 09:43
  • 上次更新2024/1/23 09:48:15
查看原帖
听说灌水区大佬多调代码MSE06H - Japan
1088800
Eden2027楼主2024/1/23 09:43

MSE06H - Japan这个题我re了

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
#define maxn 1005
struct node{
	int d,x;
};
node a[maxn];
int t,k,p[maxn];
bool cmp(node x,node y){
	return x.d<y.d || (x.d == y.d && x.x<y.x);
}
int mysort(int l,int r){
	if(l>=r)
		return 0;
	int mid=(l+r)/2;
	int sum=mysort(l,mid)+mysort(mid+1,r);
	int i=l,j=mid+1,k=1;
	while(i<=mid && j<=r){
		if(a[i].x <=a[j].x)
			p[k++]=a[i++].x ;
		else{
			sum+=mid-i+1;
			p[k++]=a[j++].x;
		}
	}
	while(i<=mid)
		p[k++]=a[i++].x;
	while(j<=r)
		p[k++]=a[j++].x ;
	for(int i=l,j=1;i<=r;i++,j++)
		a[i].x=p[j];
	return sum;
}

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(0);cout.tie(0);
	cin>>t;
	for(int i=1;i<=t;i++){
		memset(p,0,sizeof(p));
		cin>>k>>k>>k;
		for(int i=1;i<=k;i++)
			cin>>a[i].d>>a[i].x;
		sort(a+1,a+k+1,cmp);
		cout<<"Test case "<<i<<": "<<mysort(1,k)<<endl;
	}
	return 0;
}
2024/1/23 09:43
加载中...