#include<bits/stdc++.h>
using namespace std;
struct node{
int num,g,s,b;
}a[200005];
int n;
bool gcmp(node x,node y){
return x.g>y.g;
}
bool scmp(node x,node y){
return x.s>y.s;
}
bool bcmp(node x,node y){
return x.b>y.b;
}
int r[3][200005],up;
int main(){
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
cin>>n;
a[0].g=a[0].s=a[0].b=INT_MAX;
for(int i=1;i<=n;++i){
cin>>a[i].g>>a[i].s>>a[i].b;
a[i].num=i;
}
sort(a+1,a+n+1,gcmp);
up=1;
for(int i=1;i<=n;++i){
if(a[i].g!=a[i-1].g){
up=i;
}
r[0][a[i].num]=up;
}
sort(a+1,a+n+1,scmp);
up=1;
for(int i=1;i<=n;++i){
if(a[i].s!=a[i-1].s){
up=i;
}
r[1][a[i].num]=up;
}
sort(a+1,a+n+1,bcmp);
up=1;
for(int i=1;i<=n;++i){
if(a[i].b!=a[i-1].b){
up=i;
}
r[2][a[i].num]=up;
}
for(int i=1;i<=n;++i){
cout<<min(min(r[0][i],r[1][i]),r[2][i])<<endl;
}
return 0;
}
编译信息:
/tmp/compiler_oni_91vk/src: 在函数‘int main()’中:
/tmp/compiler_oni_91vk/src:43:21: 错误:对‘sort(node*, node*, <未解决的重载函数类型>)’的调用没有匹配的函数
43 | sort(a+1,a+n+1,bcmp);
| ^
In file included from /nix/store/bbmwawbq7wjb54fa35wr72alcm083d1f-luogu-gcc-9.3.0/include/c++/9.3.0/algorithm:62,
from /nix/store/bbmwawbq7wjb54fa35wr72alcm083d1f-luogu-gcc-9.3.0/include/c++/9.3.0/x86_64-unknown-linux-gnu/bits/stdc++.h:65,
from /tmp/compiler_oni_91vk/src:1:
/nix/store/bbmwawbq7wjb54fa35wr72alcm083d1f-luogu-gcc-9.3.0/include/c++/9.3.0/bits/stl_algo.h:4857:5: 附注:candidate: ‘template<class _RAIter> void std::sort(_RAIter, _RAIter)’
4857 | sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
| ^~~~
/nix/store/bbmwawbq7wjb54fa35wr72alcm083d1f-luogu-gcc-9.3.0/include/c++/9.3.0/bits/stl_algo.h:4857:5: 附注: template argument deduction/substitution failed:
/tmp/compiler_oni_91vk/src:43:21: 附注: 备选需要 2 实参,但提供了 3 个
43 | sort(a+1,a+n+1,bcmp);
| ^
In file included from /nix/store/bbmwawbq7wjb54fa35wr72alcm083d1f-luogu-gcc-9.3.0/include/c++/9.3.0/algorithm:62,
from /nix/store/bbmwawbq7wjb54fa35wr72alcm083d1f-luogu-gcc-9.3.0/include/c++/9.3.0/x86_64-unknown-linux-gnu/bits/stdc++.h:65,
from /tmp/compiler_oni_91vk/src:1:
/nix/store/bbmwawbq7wjb54fa35wr72alcm083d1f-luogu-gcc-9.3.0/include/c++/9.3.0/bits/stl_algo.h:4887:5: 附注:candidate: ‘template<class _RAIter, class _Compare> void std::sort(_RAIter, _RAIter, _Compare)’
4887 | sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
| ^~~~
/nix/store/bbmwawbq7wjb54fa35wr72alcm083d1f-luogu-gcc-9.3.0/include/c++/9.3.0/bits/stl_algo.h:4887:5: 附注: template argument deduction/substitution failed:
/tmp/compiler_oni_91vk/src:43:21: 附注: couldn’t deduce template parameter ‘_Compare’
43 | sort(a+1,a+n+1,bcmp);
| ^