From 1475d8b5d69153a17eca95b029b7e7ca0fec725c Mon Sep 17 00:00:00 2001 From: sohyundoh Date: Fri, 18 Mar 2022 01:06:59 +0900 Subject: [PATCH] 2108 --- .../2108.cpp" | 36 ++++++++++--------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git "a/[\354\212\244\355\203\235, \355\201\220, \353\215\261] 3\354\233\224 17\354\235\274/2108.cpp" "b/[\354\212\244\355\203\235, \355\201\220, \353\215\261] 3\354\233\224 17\354\235\274/2108.cpp" index d015c95..7395019 100644 --- "a/[\354\212\244\355\203\235, \355\201\220, \353\215\261] 3\354\233\224 17\354\235\274/2108.cpp" +++ "b/[\354\212\244\355\203\235, \355\201\220, \353\215\261] 3\354\233\224 17\354\235\274/2108.cpp" @@ -1,6 +1,7 @@ #include #include #include +#include using namespace std; int main() { int N; @@ -18,31 +19,33 @@ int main() { int index; if (min > v[i]) min = v[i]; if (max < v[i]) max = v[i]; - if (v[i] == 0) index = v[i];//ÃÖºó°ª ±¸Çϱâ À§ÇØ index °ª ÁöÁ¤ - else if (v[i] < 0) index = -v[i]; - else if (v[i] > 0) index = v[i] + 4000; + if (v[i] == 0) { + index = v[i];//ÃÖºó°ª ±¸Çϱâ À§ÇØ index °ª ÁöÁ¤ + } + else if (v[i] < 0) { + index = -v[i]; + } + else if (v[i] > 0) { + index = v[i] + 4000; + } answer[index]++; } ran = max - min; - aver = (int)((double)(aver) / N); + aver = floor((aver / N) + 0.5); //¹Ý¿Ã¸² ÇÔ¼ö »ç¿ë! sort(v.begin(), v.end()); - if (N % 2 == 0) { - mid = int(v[N / 2] + v[(N / 2) + 1]); - } - else { - mid = v[(int)(N / 2)]; - } - int max_index = 0; + mid = v[(int)(N / 2)]; + int max_index = 0; //ÃÖºó°ªÀ» ±¸Çϱâ À§ÇØ °¡Àå Å« index°ª bool flag = true; int cnt = 0; for (int i = 0; i < 8001; i++) { - if (max_index < answer[i]) { - if (flag && answer[i] == 1) { - cnt++; - if (cnt == 2) { + if (max_index <= answer[i]) { + //ÃÖºó°ªÀÌ µÎ°³ÀÏ °æ¿ì + if (flag && answer[i] == max_index) { + if (cnt == 3) {//µÎ¹ø°·Î ÀÛÀº ÃÖºó°ª flag = false; - continue; + break; } + cnt++; } if (i > 0 && i < 4001) { mode = -i; @@ -53,6 +56,7 @@ int main() { else if (i == 0) { mode = i; } + max_index = answer[i]; } } cout << aver << "\n" << mid << "\n" << mode << "\n" << ran;