2108 : compare 함수

csct3456·2022년 4월 22일
0

#include
#include
#include
#include

using namespace std;

bool compare(pair<int, int> p1, pair<int, int> p2) {
if(p1.first == p2.first) {
return p1.second < p2.second;
}

return p1.first > p2.first;

}

int main()
{
int x, n; cin >> n;
double sum=0;
int num[n];
int cnt [8001]={};
vector<pair<int, int>> v;

for(int i=0; i<n; i++) {
    cin >> x;
    sum += x;
    num[i] = x;
    cnt[4000+x]++;
}

sort(num, num+n);


for(int i=0; i<8001; i++) {
    if(cnt[i] != 0) {
        v.push_back(make_pair(cnt[i], i-4000));
    }
}
sort(v.begin(), v.end(), compare);

double avg = sum/n;
if(avg > -0.5 && avg < 0) {
    cout << 0 << '\n';
} else {
    cout << round(sum/n) << '\n';
}

cout << num[(n-1)/2] << '\n';

if(v[0].first == v[1].first) {
    cout << v[1].second << '\n';
} else {
    cout << v[0].second << '\n';
}

cout << num[n-1] - num[0];

}

0개의 댓글