AT_joig2025_a 题解
思路
把所有数按照奇偶性分类并排序。
对于奇数或者偶数,若其个数
AC CODE
#include<bits/stdc++.h>
using namespace std;
int read(){int x=0;char f=1,ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar();return x*f;}
int main(){
int n=read(),k=read();
vector<int>vc1,vc2;
for(int i=1;i<=n;++i){
int a=read();
if(a&1)
vc1.push_back(a);
else vc2.push_back(a);
}
sort(vc1.begin(),vc1.end(),greater<>());
sort(vc2.begin(),vc2.end(),greater<>());
long long ans=0;
if(vc1.size()>=k){
long long sum=0;
for(int i=0;i<k;++i)
sum+=vc1[i];
ans=max(ans,sum);
}
if(vc2.size()>=k){
long long sum=0;
for(int i=0;i<k;++i)
sum+=vc2[i];
ans=max(ans,sum);
}
printf("%lld\n",ans);
return 0;
}