CodeForces 1144 B - Parity Alternated Deletions

题目: 传送门
思路: 统计一下奇数和偶数的数量,并将其从小到大排序,讨论先删奇数和先删偶数的情况(先删的类型可以多删一个数),每次优先删最大的,比较结果即可

std::vector<int> v1,v2;

int main() {
    int n;
    cin>>n;
    for(int i=0;i<n;i++) {
        int a;
        cin>>a;
        if(a%2==0) v1.push_back(a);
        else v2.push_back(a);
    }
    sort(v1.begin(), v1.end());
    sort(v2.begin(), v2.end());
    if(v1.size()==v2.size()) {
        cout<<"0"<<endl;
    }
    else if(v1.size()>v2.size()) {
        int sum = 0;
        for(int i=0;i<v1.size()-v2.size()-1;i++) sum+=v1[i];
        cout<<sum<<endl;
    }
    else {
        int sum = 0;
        for(int i=0;i<v2.size()-v1.size()-1;i++) sum+=v2[i];
        cout<<sum<<endl;
    }
    return 0;
}~

猜你喜欢

转载自blog.csdn.net/qq_43305984/article/details/89306105