题解:P14453 [ICPC 2025 Xi'an R] Grand Voting

· · 题解

P14453 [ICPC 2025 Xi'an R] Grand Voting题解

题目传送门

思路

先将每位投票者的票数按升序排列,分别由小到大由大到小遍历票数,接着根据题意判断最终票数增减,最后按格式输出即可。

Ac Code

#include <bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int a[N],s,n;
int main() {
    cin>>n;
    for(int i=1;i<=n;++i){
        cin>>a[i];
    }
    sort(a+1,a+1+n);
    for(int i=1;i<=n;++i){
        if(s>=a[i]){
            s++;
        }else{
            s--;
        }
    }
    cout<<s<<' ';
    s=0;
    for(int i=n;i>=1;--i){
        if(s>=a[i]){
            s++;
        }else{
            s--;
        }
    }
    cout<<s;

    return 0;
}

完美结束✿✿ヽ(°▽°)ノ✿。