제출 #899320

#제출 시각아이디문제언어결과실행 시간메모리
899320denniskimSeesaw (JOI22_seesaw)C++17
0 / 100
1 ms348 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef __int128 lll; typedef long double ld; typedef pair<ll, ll> pll; typedef pair<ld, ld> pld; #define MAX 9223372036854775807LL #define MIN -9223372036854775807LL #define INF 0x3f3f3f3f3f3f3f3f #define fi first #define se second #define fastio ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cout << fixed; cout.precision(10); #define sp << " " #define en << "\n" #define compress(v) sort(v.begin(), v.end()), v.erase(unique(v.begin(), v.end()), v.end()) ll n; ll a[200010]; ld ans = INF; int main(void) { fastio cin >> n; for(ll i = 1 ; i <= n ; i++) cin >> a[i]; for(ll i = 1 ; i <= n ; i++) { ld maxx = a[i], minn = a[i]; ll s = i - 1, e = i + 1; ll sum = a[i]; for(ll j = 2 ; j <= n ; j++) { if(s <= 0) sum += a[e++]; else if(e > n) sum += a[s--]; else { if(a[i] < (ld)sum / (ld)(j - 1)) sum += a[s--]; else if(a[i] > (ld)sum / (ld)(j - 1)) sum += a[e++]; else if(abs(a[i] - a[s]) < abs(a[i] - a[e])) sum += a[s--]; else sum += a[e++]; } maxx = max(maxx, (ld)sum / (ld)j); minn = min(minn, (ld)sum / (ld)j); } ans = min(ans, maxx - minn); } cout << ans; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...