Kickstart 2022 (Round D), Problem A
Разница между en1 и en2, 47 символ(ов) изменены
My submission gives WA without using `cout<<fixed<<setprecision`. Since the median needs atmost 1 decimal place of precision, this feels weird. Any explanations?↵

<spoiler summary="Code
 which will give WA on removing fixedprecision">↵

~~~~~↵
#include <bits/stdc++.h>↵
// #include <ext/pb_ds/assoc_container.hpp>↵
// #include <ext/pb_ds/tree_policy.hpp>↵

// using namespace __gnu_pbds;↵

// template <class T>↵
// using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;↵

using namespace std;↵

template <class X, class Y>↵
ostream &operator<<(ostream &os, pair<X, Y> const &p)↵
{↵
    return os << "(" << p.first << ", " << p.second << ") ";↵
}↵
template <class Ch, class Tr, class Container>↵
basic_ostream<Ch, Tr> &operator<<(basic_ostream<Ch, Tr> &os, Container const &x)↵
{↵
    os << "[ ";↵
    for (auto &y : x)↵
        os << y << ", ";↵
    return os << "]\n";↵
}↵

#define int long long↵
#define len(a) (int)a.size()↵
const long long INF = 1e18;↵
const double EPS = 1e-9;↵
const int di[8] = {1, 0, -1, 0, 1, -1, -1, 1};↵
const int dj[8] = {0, 1, 0, -1, 1, 1, -1, -1};↵
// dp?, graph?, bs on answer?, compress/sort queries?, stupid observation?↵
int solve_case()↵
{↵
    int n, m;↵
    cin >> n >> m;↵
    vector<int> a(n);↵
    for (int i = 0; i < n; i++)↵
        cin >> a[i];↵
    double ans = 0;↵
    vector<int> rest;↵
    sort(a.begin(), a.end());↵
    for (int i = 0; i < n; i++)↵
    {↵
        if (i < n - m + 1)↵
            rest.push_back(a[i]);↵
        else↵
            ans += a[i];↵
    }↵
    int k = len(rest);↵
    ans += (rest[(k - 1) / 2] + rest[k / 2]) / 2.0;↵
    cout << ans << '\n';↵
    return 0;↵
}↵

int32_t main()↵
{↵
    ios_base::sync_with_stdio(0);↵
    cin.tie(0);↵
    int t = 1;↵
    cin >> t;↵
    cout << fixed << setprecision(12);↵
    for (int _ = 1; _ <= t; _++)↵
    {↵
        cout << "Case #" << _ << ": ";↵
        solve_case();↵
    }↵
    return 0;↵
}↵
~~~~~↵


</spoiler>↵

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
en2 Английский justaninactivealt 2022-07-10 13:51:06 47
en1 Английский justaninactivealt 2022-07-10 11:12:38 1971 Initial revision (published)