1. 程式人生 > >洛谷牛人

洛谷牛人

題目
題目描述
現在有n個人,每個人都有一個智力值和體力值。對於某一個人A來說,如果其它n-1個人中,沒有人的智力值和體力值都比A高,則我們稱A為“牛人”。反過來說,只要有一個人的智力值和體力值都比A高,則A就不是“牛人”了。 請統計共有多少個“牛人”。

輸入輸出格式
輸入格式:
第一行只有一個整數n。 第二行,有n個以空格分隔的正整數,第i個正整數表示第i個人的智力值。 第三行,有n個以空格分隔的正整數,第i個正整數表示第i個人的體力值。

輸出格式:
僅有一行,該行只有一個整數,表示求得的“牛人”數。

輸入輸出樣例
輸入樣例#1: 複製
5
25 40 30 20 5
20 10 25 38 5
輸出樣例#1: 複製
3

#include<bits/stdc++.h>
using namespace std; 
struct note {
	int x;
	int y;
}aa[200000];
int cmp(struct note mm ,struct note nn){
   if(mm.x !=nn.x ) return mm.x<nn.x ;
else return mm.y <nn.y ;

}
int main(){
	int n,i,j,k;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%d",&aa[i].x );
	}
	for(i=0;i<n;i++){
		scanf("%d",&aa[i].y );
	}
    sort(aa,aa+n,cmp);
	int sum=1;
	for(i=n-2;i>=0;i--){
	   for(j=n-1;j>i;j--){
	   	if(aa[j].x >aa[i].x &&aa[j].y >aa[i].y ) break;
	   }
	   if(i==j) sum++;
	
	}
	printf("%d",sum);
	return 0;
}