【问题描述】
某公司需要招聘一批员工,该公司有自己独特的评价体系,对应聘者设立了 3 个指标:技能值 Ki、智慧值 Ii 和忠诚度 Ei ,i=1, 2, …
经过严格的初选和复选以及各项测试以后,有 N 个人进入最后的名单,公司给出了每个人的各项指标值,并规定对于某人 i,如果存在另外人 j,有Ki < Kj 、Ii < Ij 、Ei < Ej ,则 i 将会被淘汰。
请找出总共有多少人会被淘汰。
【输入形式】
第一行包含一个整数 N (1≤ N ≤ 500000),表示最终进入评价名单的人数。第二行包括 N 个整数 Ki,第三行包含 N 个整数 Ii,第四行包含 N 个整数 Ei ,0 ≤ Ki、Ii 、 Ei ≤ 109。
【输出形式】
输出为一行一个整数。
【样例输入】
3
1 4 2
4 3 2
2 5 3
【样例输出】
1
#include<iostream>
using namespace std;
//声明结构体类型Stuff
struct Stuff {
int k;
int i;
int e;
};
int main() {
int n;
cin>>n;
Stuff ren[n];
int count=0;
//每行输入一种属性,每一列表示一人
for(int h=0; h<n; h++) {
cin>>ren[h].k;
}
for(int h=0; h<n; h++) {
cin>>ren[h].i ;
}
for(int h=0; h<n; h++) {
cin>>ren[h].e ;
}
//循环判断
for(int q=0; q<n; q++) {
for(int r=0; r<n; r++) {
if(ren[r].k >ren[q].k &&ren[r].i >ren[q].i &&ren[r].e >ren[q].e) {
count++;
break;
}
}
}
cout<<count;
return 0;
}