# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
877815 | frostray8653 | Seesaw (JOI22_seesaw) | C++17 | 687 ms | 604 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
// #pragma GCC optimize("Ofast,unroll-loops,O3")
#include <bits/stdc++.h>
#define int long long
// #define ll long long
#define pii pair<int,int>
#define pll pair<ll,ll>
#define IO ios::sync_with_stdio(0), cin.tie(0)
#define FOR(i, a, b) for (int i = a, I = b; i <= b; i++)
using namespace std;
void dbg() {;}
template<class T, class ...U>
void dbg(T a, U ...b) {cout << a << " "; dbg(b...);}
void ent() {cout << "\n";}
const int mod = 998244353;
// const int mod = 1e9 + 7;
// const int INF = 2e9;
const int INF = 1e18;
/// ------- Initialization End -------
const int N = 2005;
int a[N], pre[N];
double enumerate(int l, int r, double mn, double mx) {
if (l == r)
return mx - mn;
double lres = (double)(pre[r] - pre[l]) / (r - l);
if (lres <= mx)
return enumerate(l + 1, r, mn, mx);
double rres = (double)(pre[r - 1] - pre[l - 1]) / (r - l);
if (rres >= mn)
return enumerate(l, r - 1, mn, mx);
return min(enumerate(l + 1, r, mn, lres), enumerate(l, r - 1, rres, mx));
}
signed main() {
IO;
int n;
cin >> n;
FOR(i, 1, n) cin >> a[i];
double tot = 0;
FOR(i, 1, n) tot += a[i];
double ave = tot / n;
FOR(i, 1, n) pre[i] = pre[i - 1] + a[i];
double ans = enumerate(1, n, ave, ave);
cout << fixed << setprecision(10) << ans << "\n";
return 0;
}
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |