Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*#pragma GCC optimize("Ofast")
- #pragma GCC optimize("unroll-loops")
- #pragma GCC target("avx,avx2,fma")*/
- // only when really needed
- /* GNU G++17 7.3.0: No long long for faster code
- GNU G++17 9.2.0 (64 bit, msys 2): Long long only for faster code */
- #include <bits/stdc++.h>
- #define for1(i,a,b) for (int i = a; i <= b; i++)
- #define for2(i,a,b) for (int i = a; i >= b; i--)
- #define int long long
- #define sz(a) (int)a.size()
- #define pii pair<int,int>
- /*
- __builtin_popcountll(x) : Number of 1-bit
- __builtin_ctzll(x) : Number of trailing 0
- */
- #define PI 3.1415926535897932384626433832795
- #define INF 1000000000000000000
- #define MOD 1000000007
- #define MOD2 1000000009
- #define EPS 1e-6
- using namespace std;
- double a[100005];
- int n, k;
- signed main() {
- ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
- freopen("average.inp", "r", stdin);
- freopen("average.out", "w", stdout);
- cin >> n >> k;
- for1(i,1,n) {
- int x;
- cin >> x;
- a[i] = double(x);
- }
- double l = 0, r = 1e9;
- for1(i,1,100) {
- double m = (l + r)/2, sum = 0, sum2 = 0, mn = 0;
- bool flag = false;
- for1(i,1,k) sum += a[i] - m;
- for1(i,k+1,n) {
- sum += a[i] - m;
- sum2 += a[i - k] - m;
- if (sum2 < mn) mn = sum2;
- if (sum - mn + EPS > 0) flag = true;
- }
- if (flag) l = m;
- else r = m;
- }
- cout << fixed << setprecision(4) << l;
- }
Advertisement
Add Comment
Please, Sign In to add comment