0
已解决
陈曦
资深天翼
资深天翼
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int n,cnt=1;
struct fz{
int tj,td;// tj:体积;td:甜度。
}a[15000];
bool cmp(fz x,fz y){
return x.tj<y.tj;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i].td;
for(int i=1;i<=n;i++)
cin>>a[i].tj;
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n-1;i++){
if(a[i].td>a[i+1].td){
cnt++;
}
}
cout<<cnt;
return 0;
}
我放弃了
0
已采纳
汪恺恒
中级启示者
中级启示者
排序规则
bool cmp(fz x,fz y){
if(x.td!=y.td)
return x.td>y.td;
return x.tj>y.tj;
}
排序后
for(int i=1;i<=n;i++){
for(int j=1;j<=cnt;j++){
if(pos1[j]>=a[i].td&&pos2[j]>=a[i].tj){
pos1[j]=a[i].td;
pos2[j]=a[i].tj;
flag=true;
break;
}
}
if(!flag){
cnt++;
pos1[cnt]=a[i].td;
pos2[cnt]=a[i].tj;
}
flag=false;
}
最后输出cnt
0
0