144792025-01-11 21:14:08ubormaciPontos Átlagcpp17Elfogadva 100/10048ms3380 KiB
#include <iostream>
#include <algorithm>
#include <vector>
#include <map>
#include <set>
#include <cmath>
#include <array>
#include <string>
#include <cstdio>
#include <iterator>
#include <unordered_set>
#include <cstdint>
#include <queue>
#include <stack>
#include <deque>
#include <numeric>
#include <fstream>
using namespace std;

template<typename A, typename B> ostream& operator<<(ostream &os, const pair<A, B> &p) { return os << '(' << p.first << ", " << p.second << ')'; }
template<typename T_container, typename T = typename enable_if<!is_same<T_container, string>::value, typename T_container::value_type>::type> ostream& operator<<(ostream &os, const T_container &v) { os << '{'; string sep; for (const T &x : v) os << sep << x, sep = ", "; return os << '}'; }
void dbg_out() { cout << endl; }
template<typename Head, typename... Tail> void dbg_out(Head H, Tail... T) { cout << ' ' << H; dbg_out(T...); }
#ifdef LOCAL
#define dbg(...) cout << "(" << #__VA_ARGS__ << "):", dbg_out(__VA_ARGS__)
#else
#define dbg(...)
#endif

/*

notes:

int64_t
stoi(string s) -> string to int
to_string() -> int (or else) to string

vector declaration:
vector<ll> v(n, 0)
vector<vector<ll>> v(n, vector<ll>(n, 0));

{if statement} ? {truth value} : {false value}

set lower bound/upper bound:
 	// . . . m1 . . . d . . . . m2
    auto m1_it = b.lower_bound(d);
    advance(m1_it, -1);
    m1 = *m1_it;
	m2 = *b.upper_bound(d);

#ifdef LOCAL
    freopen("in.txt","r",stdin);
    freopen("out.txt","w",stdout);
#endif

constexpr auto lcm(auto x, auto... xs)
{
	return ((x = std::lcm(x, xs)), ...);
}

std::gcd(int a, int b)

*/

typedef long long ll;

void solve() {
    ll n, k;
    cin >> n >> k;
    double curravg = 0;
    vector<ll> v(n, 0);
    for(ll i = 0; i < n; i++) {
        cin >> v[i];
        curravg += v[i];
    }

    double totalsum = curravg;

    curravg /= n;
    if(k == curravg) {
        cout << "0";
        return;
    }
    if(k > curravg) {
        cout << "1";
        return;
    }

    sort(v.rbegin(), v.rend());

    for(ll i = 0; i < n; i++) {
        totalsum -= v[i];
        totalsum += 1;
        if((totalsum / n) <= k) {
            cout << i + 1;
            return;
        }
    }

    

}

int main()
{
	std::ios_base::sync_with_stdio(false);

	solve();

	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva1ms500 KiB
subtask220/20
3Elfogadva1ms500 KiB
4Elfogadva1ms316 KiB
5Elfogadva1ms316 KiB
6Elfogadva1ms316 KiB
7Elfogadva1ms316 KiB
8Elfogadva1ms316 KiB
9Elfogadva1ms316 KiB
10Elfogadva1ms316 KiB
11Elfogadva1ms428 KiB
12Elfogadva1ms316 KiB
13Elfogadva1ms316 KiB
subtask340/40
14Elfogadva1ms316 KiB
15Elfogadva1ms316 KiB
16Elfogadva1ms316 KiB
17Elfogadva1ms316 KiB
18Elfogadva1ms428 KiB
19Elfogadva1ms796 KiB
20Elfogadva1ms316 KiB
21Elfogadva1ms316 KiB
22Elfogadva1ms316 KiB
23Elfogadva3ms316 KiB
24Elfogadva1ms316 KiB
25Elfogadva1ms316 KiB
26Elfogadva1ms316 KiB
subtask440/40
27Elfogadva27ms3264 KiB
28Elfogadva46ms3140 KiB
29Elfogadva46ms3128 KiB
30Elfogadva46ms3276 KiB
31Elfogadva46ms3316 KiB
32Elfogadva46ms3124 KiB
33Elfogadva46ms3264 KiB
34Elfogadva48ms3124 KiB
35Elfogadva46ms3124 KiB
36Elfogadva35ms3380 KiB
37Elfogadva27ms3124 KiB
38Elfogadva24ms2356 KiB
39Elfogadva46ms3124 KiB
40Elfogadva45ms3120 KiB
41Elfogadva37ms2632 KiB
42Elfogadva45ms3124 KiB
43Elfogadva34ms2804 KiB