洛谷牛人
阿新 • • 發佈:2018-12-28
題目
題目描述
現在有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; }