Submit solution
Points:
1.00 (partial)
Time limit:
1.0s
Memory limit:
256M
Author:
Problem type
Allowed languages
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift
Kỳ thi học sinh giỏi khối ~10~ môn Tin học năm nay có ~n~ học sinh tham gia với tổng điểm của các học sinh lần lượt là các số tự nhiên ~d_1, d_2, …, d_n~. BTC quyết định chọn các học sinh để trao giải theo nguyên tắc sau: Đầu tiên chọn ~[\frac{n}{2}]~ (phần nguyên của ~\frac{n}{2}~) số học sinh có điểm từ cao xuống thấp, sau đó chọn thêm những học sinh bằng điểm với học sinh có điểm thấp nhất trong số này. Em hãy giúp BTC tính số lượng học sinh có giải.
Input
- Dòng đầu chứa số nguyên dương ~n~;
- Dòng thứ hai chứa ~n~ số tự nhiên ~d_1, d_2, …, d_n~.Hai số liên tiếp trên một dòng được ghi cách nhau một dấu cách.
Giới hạn:
- ~2 ≤ n ≤ 10^5; 0 ≤ d_i ≤ 10^6~.
Output
- Một số nguyên duy nhất là số học sinh có giải.
Sample
Input #1
5
98 97 100 98 98
Output #1
4
Hint
Xem xét #1:
- ~[\frac{n}{2}] = [\frac{5}{2}] = 2~. Hai học sinh được chọn có điểm từ cao xuống thấp là ~100~ và ~98~, tiếp theo, còn ~2~ học sinh cùng đạt ~98~ điểm nữa cũng được chọn. Vậy có ~4~ học sinh có giải.
Problem source: Chuyên Sơn La Online Judge
Comments
include <bits/stdc++.h>
define el "\n"
using namespace std; using ll = long long;
void TienDat(){ int k; cin >> k; map<int , int , greater<int>> freq; for (int i = 0; i < k ; ++i){ int x; cin >> x; freq[x]++; } int g = k / 2; int dem = 0; for (auto &[key , value] : freq){ if (dem <= g) dem += value; } cout << dem << el; }
int main(){ iosbase::syncwith_stdio(0); cin.tie(0);
} sai đâu ạ
đr test 2 là gì vậy