60pts
  • 板块P2652 同花顺
  • 楼主msht2006
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/11/12 21:36
  • 上次更新2023/11/13 09:35:39
查看原帖
60pts
762837
msht2006楼主2023/11/12 21:36

WA on 2 8 9 10

#include<bits/stdc++.h>
#define maxn 100010
using namespace std;
struct AB{
	long long a,b;
}p[maxn];
int n;
int sta[maxn];
int tp[maxn];
int cnt;
bool com(AB A,AB B){
	return A.b<B.b;
}
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
		scanf("%d%d",&p[i].a,&p[i].b);
	sort(p+1,p+1+n,com);
	memset(tp,0,sizeof(tp));
	memset(sta,0,sizeof(sta));
	for(int i=1;i<=n;i++){
		for(int j=0;j<=cnt;j++){
			if(!tp[j]){
				sta[j]=i;
				tp[j]++;
				cnt++;
				break;
			}
			else{
				if(p[sta[j]].a!=p[i].a)continue;
				else if(p[sta[j]].b==p[i].b)break;
				else{
					sta[j]=i;
					tp[j]++;
					break;
				}
			}
		}
	}
	int MAXN=0;
	for(int i=0;i<cnt;i++)
		MAXN=max(MAXN,tp[i]);
	printf("%d",n-MAXN);
}
2023/11/12 21:36
加载中...