QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#116805 | #4886. Best Sun | hos_lyric | AC ✓ | 1663ms | 44072kb | C++14 | 7.6kb | 2023-06-30 07:53:18 | 2023-06-30 07:53:18 |
Judging History
answer
#include <cassert>
#include <cmath>
#include <cstdint>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <functional>
#include <iostream>
#include <limits>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <sstream>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>
using namespace std;
using Int = long long;
template <class T1, class T2> ostream &operator<<(ostream &os, const pair<T1, T2> &a) { return os << "(" << a.first << ", " << a.second << ")"; };
template <class T> ostream &operator<<(ostream &os, const vector<T> &as) { const int sz = as.size(); os << "["; for (int i = 0; i < sz; ++i) { if (i >= 256) { os << ", ..."; break; } if (i > 0) { os << ", "; } os << as[i]; } return os << "]"; }
template <class T> void pv(T a, T b) { for (T i = a; i != b; ++i) cerr << *i << " "; cerr << endl; }
template <class T> bool chmin(T &t, const T &f) { if (t > f) { t = f; return true; } return false; }
template <class T> bool chmax(T &t, const T &f) { if (t < f) { t = f; return true; } return false; }
int sig(Int r) { return (r < 0) ? -1 : (r > 0) ? +1 : 0; }
struct Pt {
Int x, y;
Pt() : x(0), y(0) {}
Pt(Int x_, Int y_) : x(x_), y(y_) {}
Pt operator+(const Pt &a) const { return Pt(x + a.x, y + a.y); }
Pt operator-(const Pt &a) const { return Pt(x - a.x, y - a.y); }
Pt operator*(const Pt &a) const { return Pt(x * a.x - y * a.y, x * a.y + y * a.x); }
Pt operator+() const { return Pt(+x, +y); }
Pt operator-() const { return Pt(-x, -y); }
Pt operator*(const Int &k) const { return Pt(x * k, y * k); }
Pt operator/(const Int &k) const { return Pt(x / k, y / k); }
friend Pt operator*(const Int &k, const Pt &a) { return Pt(k * a.x, k * a.y); }
Pt &operator+=(const Pt &a) { x += a.x; y += a.y; return *this; }
Pt &operator-=(const Pt &a) { x -= a.x; y -= a.y; return *this; }
Pt &operator*=(const Pt &a) { return *this = *this * a; }
Pt &operator*=(const Int &k) { x *= k; y *= k; return *this; }
Int abs2() const { return x * x + y * y; }
Int dot(const Pt &a) const { return x * a.x + y * a.y; }
Int det(const Pt &a) const { return x * a.y - y * a.x; }
bool operator==(const Pt &a) const { return (x == a.x && y == a.y); }
bool operator<(const Pt &a) const { return (x < a.x || (x == a.x && y < a.y)); }
friend ostream &operator<<(ostream &os, const Pt &a) { os << "(" << a.x << ", " << a.y << ")"; return os; }
};
Int tri(const Pt &a, const Pt &b, const Pt &c) { return (b - a).det(c - a); }
// (-(1/2)PI, (3/2)PI]
int cmpArg(const Pt &a, const Pt &b) {
const int sa = (a.x > 0) ? 0 : (a.x < 0) ? 2 : (a.y > 0) ? 1 : 3;
const int sb = (b.x > 0) ? 0 : (b.x < 0) ? 2 : (b.y > 0) ? 1 : 3;
return (sa < sb) ? -1 : (sa > sb) ? +1 : sig(b.det(a));
}
unsigned xrand() {
static unsigned x = 314159265, y = 358979323, z = 846264338, w = 327950288;
unsigned t = x ^ x << 11; x = y; y = z; z = w; return w = w ^ w >> 19 ^ t ^ t >> 8;
}
using Double = double;
constexpr Double INF = 1e+20;
int N;
vector<Pt> P;
Double D[310][310];
char S[310][310][310];
// inside triangle 0, i, j
int cnt[310][310];
// inside triangle i, j, k
int enclose(int i, int j, int k) {
int ret = 0;
ret += cnt[i][j];
ret += cnt[j][k];
ret += cnt[k][i];
ret -= (S[0][j][i] + S[j][k][i] + S[k][0][i]) / 3;
ret -= (S[0][k][j] + S[k][i][j] + S[i][0][j]) / 3;
ret -= (S[0][i][k] + S[i][j][k] + S[j][0][k]) / 3;
#ifdef LOCAL
int brt=0;
for(int l=0;l<N;++l)brt+=abs((S[i][j][l]+S[j][k][l]+S[k][i][l])/3);
if(brt!=ret)cerr<<P[i]<<" "<<P[j]<<" "<<P[k]<<": "<<brt<<" "<<ret<<endl;
assert(brt==ret);
#endif
return ret;
}
Double cost[310][310];
using Dir = pair<Pt, pair<int, pair<int, int>>>;
vector<Dir> dirs;
// s: min (x, y)
// area - ratio * length >= 0
bool check(int src, Double ratio) {
vector<Double> dp(N, -INF);
Double start = 0.0, goal = -INF;
for (const auto &dir : dirs) {
const int i = dir.second.second.first;
const int j = dir.second.second.second;
if (dir.second.first == 0) {
if (S[src][i][j] >= 0 && enclose(src, i, j) == 0) {
// cerr<<i<<" -> "<<j<<endl;
chmax((src == j) ? goal : dp[j], ((src == i) ? start : dp[i]) + tri(P[src], P[i], P[j]) / 2.0 - ratio * cost[i][j]);
}
} else {
// cerr<<"impose "<<i<<" "<<D[i][j]<<endl;
if (src == i) {
if (dir.first.x > 0 || (dir.first.x == 0 && dir.first.y > 0)) {
// impose when: arg(dir) < go
start -= ratio * D[i][j];
} else {
// impose when: come <= arg(dir)
goal -= ratio * D[i][j];
}
} else {
dp[i] -= ratio * D[i][j];
}
}
}
// cerr<<src<<" "<<ratio<<" "<<dp<<" "<<goal<<endl;
return (goal >= 0.0);
}
int main() {
for (int numCases; ~scanf("%d", &numCases); ) { for (int caseId = 1; caseId <= numCases; ++caseId) {
scanf("%d", &N);
P.resize(N);
for (int i = 0; i < N; ++i) {
scanf("%lld%lld", &P[i].x, &P[i].y);
}
sort(P.begin(), P.end());
for (int i = 0; i < N; ++i) for (int j = 0; j < N; ++j) {
D[i][j] = sqrt((Double)(P[j] - P[i]).abs2());
}
for (int i = 0; i < N; ++i) for (int j = 0; j < N; ++j) for (int k = 0; k < N; ++k) {
S[i][j][k] = sig(tri(P[i], P[j], P[k]));
}
for (int i = 0; i < N; ++i) {
fill(cnt[i], cnt[i] + N, 0);
}
for (int i = 0; i < N; ++i) for (int j = 0; j < N; ++j) if (S[0][i][j] > 0) {
for (int k = 0; k < N; ++k) {
cnt[i][j] += (S[0][i][k] + S[i][j][k] + S[j][0][k]) / 3;
}
cnt[j][i] = -cnt[i][j];
}
// if(N<=3)for(int i=0;i<N;++i)for(int j=0;j<N;++j)for(int k=0;k<N;++k)cerr<<i<<" "<<j<<" "<<k<<": "<<enclose(i,j,k)<<endl;
/*
cost of j at corner i:
- come in [arg(P[j] - P[i]) - PI/2, arg(P[j] - P[i]) + PI/2]
- go in [arg(P[j] - P[i]) + PI/2, arg(P[j] - P[i]) - PI/2]
for src != i
impose when: come <= arg(P[j] - P[i]) + PI/2 < go
(ignore non-convex turning)
remaining cost: projected on the segment [i, j)
*/
// projected on the segment
for (int i = 0; i < N; ++i) for (int j = 0; j < N; ++j) {
cost[i][j] = D[i][j];
for (int k = 0; k < N; ++k) {
if (S[i][j][k] < 0 &&
(P[j] - P[i]).dot(P[k] - P[i]) >= 0 &&
(P[i] - P[j]).dot(P[k] - P[j]) > 0) {
cost[i][j] += min(D[i][k], D[j][k]);
}
}
}
dirs.clear();
for (int i = 0; i < N; ++i) for (int j = 0; j < N; ++j) if (i != j) {
dirs.emplace_back(P[j] - P[i], make_pair(0, make_pair(i, j)));
dirs.emplace_back((P[j] - P[i]) * Pt(0, 1), make_pair(1, make_pair(i, j)));
}
sort(dirs.begin(), dirs.end(), [&](const Dir &dir0, const Dir &dir1) -> bool {
const int s = cmpArg(dir0.first, dir1.first);
return (s ? (s < 0) : (dir0.second < dir1.second));
});
// cerr<<"dirs = "<<dirs<<endl;
// cerr<<"P = "<<P<<endl;check(1,0.71);continue;
vector<int> srcs(N);
for (int i = 0; i < N; ++i) {
swap(srcs[xrand() % (i + 1)], srcs[i] = i);
}
Double lo = 0.0;
for (const int src : srcs) {
if (check(src, lo)) {
Double hi = 1e+9;
for (int iter = 0; iter < 60; ++iter) {
const Double mid = (lo + hi) / 2.0;
(check(src, mid) ? lo : hi) = mid;
}
}
}
printf("%.12f\n", lo);
}
#ifndef LOCAL
break;
#endif
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 2ms
memory: 7816kb
input:
4 3 -1 -1 1 -1 0 1 4 0 0 10 0 0 10 8 1 5 2 0 -2 0 1 1 -1 1 0 3 8 4 4 -4 4 4 -4 -4 -4 5 6 -6 5 -5 -6 6 -5
output:
0.309016994285 1.236861427514 0.271137541238 1.563100209420
result:
ok 4 numbers
Test #2:
score: 0
Accepted
time: 78ms
memory: 5716kb
input:
10000 3 702262 828158 -350821 -420883 -466450 13507 3 28647 -193498 126436 -864937 -287798 738936 3 270358 -269567 745815 -485408 834083 677952 3 -2036 -403634 742978 -263774 975937 -609237 3 584248 -472620 482016 -356760 284902 903881 3 -292004 504925 -935756 373793 -781101 -434659 3 -858513 684433...
output:
85789.087398353484 18268.519361671824 102489.988390261860 66685.754428079395 18674.657937413525 106468.965131971927 14427.024651070264 29966.245302542360 143547.751083586772 13097.175688125615 162410.168316980125 72070.932417874283 29369.992627886582 52867.294431100876 90314.308346756327 99775.92719...
result:
ok 10000 numbers
Test #3:
score: 0
Accepted
time: 82ms
memory: 5728kb
input:
10000 3 2 2 2 -2 -5 -5 3 -3 5 5 -4 2 -2 3 -4 1 2 -2 -4 4 3 1 -4 2 1 -4 1 3 2 1 -1 1 -3 3 3 4 5 3 -1 -3 -3 3 1 5 5 0 5 -1 3 2 -3 -5 -3 5 3 3 -4 4 0 -5 5 4 3 2 -3 5 0 2 -5 3 -2 -3 5 -3 5 4 3 -1 4 4 4 4 3 3 5 3 -1 4 2 -1 3 2 -3 4 3 -4 3 3 0 4 -2 -2 -1 -3 3 -2 0 -4 -2 4 2 3 -3 -1 3 1 1 -3 3 2 -5 2 3 -4 ...
output:
0.650700700787 0.226809069789 0.494682565744 0.825532630970 0.267532474472 0.737928456188 0.136852946510 0.827745795517 1.389628120040 0.248476165858 1.025126265125 0.225245121166 0.798168850458 1.052177633215 0.270090756184 0.221028003192 0.654929147373 1.065792545364 0.120736187541 0.172721212333 ...
result:
ok 10000 numbers
Test #4:
score: 0
Accepted
time: 98ms
memory: 5812kb
input:
5625 4 -405394 -381883 602267 -335687 -620806 984110 271283 531233 4 196903 -993060 290851 358123 -890076 -717709 -681138 209884 4 -849589 607722 -21517 -586295 208561 -220953 924518 622983 4 -832186 456270 289934 43656 636006 339718 188963 113907 4 -305762 -872205 -520125 368722 -774548 984204 4245...
output:
232625.004274430394 268175.826985963213 159589.323630517232 60440.753042597818 133893.123436351190 63201.990748626078 167697.663406134292 129470.013284315559 126903.854072810122 106643.971263096697 131692.311227904691 100421.055016211729 148490.274817902071 68842.242309822439 241376.191116128699 303...
result:
ok 5625 numbers
Test #5:
score: 0
Accepted
time: 100ms
memory: 5736kb
input:
5625 4 -2 -1 4 -5 -2 -4 -4 -4 4 -1 -5 4 4 2 -5 -5 1 4 -3 -4 -3 -1 -5 -1 4 -2 4 -2 4 -4 1 -1 -1 5 -4 4 -3 -5 -1 4 5 -1 3 5 4 -4 -2 1 4 -1 1 3 4 4 -5 3 -3 3 5 -4 -1 4 4 1 2 2 -5 1 0 0 -3 4 -5 -4 2 -3 5 3 -3 2 4 2 -2 -4 3 1 -4 -5 -5 4 -3 5 -2 4 1 3 1 -4 4 0 -5 5 -5 0 -2 -3 2 4 0 5 -1 -4 -2 0 4 -1 4 4 -...
output:
0.491968206624 1.608023935704 0.676463563117 0.814682126294 1.572795402596 0.202044801019 0.442367305113 0.305583211498 1.508906909142 1.322787523614 0.521855949034 0.398280449419 1.219494625606 1.177491255285 1.395102692224 1.073773125684 0.754089789744 0.607559108000 1.437319220657 0.967112345771 ...
result:
ok 5625 numbers
Test #6:
score: 0
Accepted
time: 107ms
memory: 5784kb
input:
3600 5 114127 146710 467065 -311758 189643 449065 -303893 -215009 -789281 -140748 5 -449893 654165 -899120 -560520 719351 652759 285007 471281 987628 -767128 5 -587522 89736 -355416 -178001 801765 512722 314119 -136906 350051 762194 5 85697 920768 161507 -533920 -536515 401333 -27632 -987465 112237 ...
output:
84655.199548641656 270848.726867046440 202824.036734045134 135615.191873947682 119666.508543505945 89811.870770702968 254983.153575301229 189662.747266510967 64951.657089439359 154748.442291013489 214519.682079035643 163467.532800248824 278857.257440858812 191490.497905822529 172625.529642624722 144...
result:
ok 3600 numbers
Test #7:
score: 0
Accepted
time: 108ms
memory: 5736kb
input:
3600 5 2 6 -6 4 4 0 -5 0 3 1 5 0 3 5 -5 2 6 4 0 2 -4 5 2 -2 -6 -3 -5 -5 -1 3 -4 0 5 0 6 -3 -5 5 1 4 -3 -5 6 5 0 -6 -6 -5 -2 6 1 6 2 0 5 2 1 6 5 4 -1 -3 -2 -6 4 5 -1 -2 5 -6 -1 4 -2 3 6 4 5 -6 3 6 -5 4 -4 3 -1 2 -6 5 5 -4 1 -5 1 0 5 -1 3 2 5 -4 6 2 -4 1 -4 5 5 -1 6 5 -3 0 0 6 -2 5 -5 5 2 6 5 2 -1 -4 ...
output:
1.391733813648 1.060007675318 1.338660496443 2.178641490559 1.867763528909 1.255064419579 1.819705452294 0.946302318623 1.131643310161 1.577239085356 0.521212423048 1.537179567662 0.947338473967 1.047090987558 0.557229792620 1.208597019863 1.230289371757 0.667574167720 0.366506013906 0.694342548645 ...
result:
ok 3600 numbers
Test #8:
score: 0
Accepted
time: 108ms
memory: 5836kb
input:
3600 5 -3 1 0 -1 2 -3 4 1 5 0 5 -3 -5 1 -5 -2 -2 3 2 1 5 5 -4 -2 4 5 5 3 2 -4 -4 0 5 0 4 -5 3 1 4 -1 1 4 1 5 5 -3 2 -5 -3 -4 -1 1 5 1 5 -5 5 -2 1 -3 2 2 2 -4 5 5 -2 -3 -1 3 1 1 3 -2 -2 -2 5 2 1 -2 -3 -3 -3 5 0 -5 4 5 2 2 -2 5 5 -1 4 -5 -2 4 5 -4 5 -1 -3 -2 5 5 -1 -4 3 5 -5 -4 -1 -3 0 -1 -5 1 -4 -3 5...
output:
0.543380852466 1.207931264265 1.575494573870 0.807518148516 1.556679600327 0.682449066876 0.907440118707 0.950838996948 0.853770882819 1.371308224729 0.742640802152 0.401491623765 0.747427628341 0.493469159563 0.711214494334 0.609299855361 1.234436170013 0.433814829496 1.467933330796 0.695462449728 ...
result:
ok 3600 numbers
Test #9:
score: 0
Accepted
time: 103ms
memory: 5876kb
input:
3600 5 0 2 3 -7 7 3 -6 -1 6 -6 5 -3 6 -5 6 -10 -2 -4 -8 -9 8 5 -2 2 2 -9 6 -3 2 10 -5 7 5 -7 9 9 -4 -8 -2 4 10 9 -8 5 -8 -5 -10 0 -7 0 0 -7 6 8 5 10 -7 8 -8 3 1 0 -4 -7 -4 5 2 -9 -3 1 -4 -2 -3 -3 0 1 5 -8 5 -10 6 2 -8 6 -5 -6 8 5 5 8 -8 -9 3 -7 -9 0 -4 3 5 2 -5 2 0 6 7 10 5 -8 -6 5 -10 -2 7 -6 -10 5...
output:
2.105200917055 1.536768657247 1.607020249511 3.526347322774 1.978433495611 1.082518584028 0.946163226543 1.602327121970 2.883772154844 0.940814875658 1.701362562986 1.600920246018 1.933487252392 0.691865962958 1.833984298906 0.630647968644 3.433951873762 2.448706755524 1.551666062485 1.145489029152 ...
result:
ok 3600 numbers
Test #10:
score: 0
Accepted
time: 141ms
memory: 5784kb
input:
900 10 -10 -1 8 -6 7 -1 -5 8 -7 -9 4 -2 -9 10 -10 -8 9 9 -3 -6 10 -5 9 -7 -1 -9 -7 -4 6 -5 2 1 -4 10 8 -9 -9 2 0 7 7 10 -3 -7 9 -4 -5 2 1 1 6 7 -4 7 4 -6 0 1 -8 -5 3 -5 10 -3 -10 -8 -7 -5 -5 -6 3 -3 -1 7 -9 1 -5 9 -7 -2 3 -4 9 10 0 1 -3 8 -3 7 4 -10 10 -6 -5 -8 10 4 4 3 0 -8 3 -10 10 4 -5 2 0 -5 -10...
output:
2.606027486615 1.263341789284 1.183899114586 0.882728470790 1.878227295721 1.569813583218 1.553295322728 1.632832330481 1.573799484161 0.997095962863 0.942482996911 1.417282633456 1.401766574344 1.693986663410 2.862877850828 2.055359776405 2.208776867137 1.320239391228 1.505864484553 1.595800106599 ...
result:
ok 900 numbers
Test #11:
score: 0
Accepted
time: 132ms
memory: 7792kb
input:
900 10 670067 394291 -797310 -637136 -435933 -923795 120936 309795 -934569 -688829 950758 634654 983083 900196 174829 181896 -191047 177910 258020 672165 10 424046 -657491 391198 -14995 -302986 -597011 -96387 -486090 -164032 -356501 -891789 12548 -703186 -924511 808215 -212606 659523 490088 738901 5...
output:
81290.161838387052 91483.733196163026 100154.027055843995 192606.414820315200 177441.647434418148 76150.892372177856 177358.705373884412 230115.879266812815 280209.262845027493 61218.543021287696 137504.791637735441 168344.544041082205 162167.181814908341 133102.529269232997 177087.456345741346 1635...
result:
ok 900 numbers
Test #12:
score: 0
Accepted
time: 184ms
memory: 7972kb
input:
225 20 -4 -9 -5 3 7 -10 10 7 2 7 1 4 2 2 -5 -1 -9 -1 -3 10 -8 -6 0 -5 7 -4 -6 -8 -7 -5 -1 -7 -1 -3 8 -6 6 3 8 2 20 8 2 6 -8 -3 -6 -2 9 5 -2 0 8 8 0 -7 -9 3 1 4 -10 4 7 -6 -1 -8 -7 2 -8 -8 -1 1 -9 2 -10 1 2 -7 8 -10 3 20 5 8 0 -3 9 -9 -10 -4 -10 -2 9 10 -2 8 -6 -10 6 -6 -3 7 5 10 7 7 -5 -6 -2 3 -4 0 ...
output:
0.612786987709 1.113790722391 0.761536436153 1.330805908831 0.754049223882 1.332837976544 0.670314797454 1.035312804722 0.906817408235 0.976966661903 0.750284895699 0.778031577446 0.717904921200 0.571580229259 0.772106109760 0.769291031735 1.890445999353 0.860096066185 1.077733239066 1.312981086249 ...
result:
ok 225 numbers
Test #13:
score: 0
Accepted
time: 175ms
memory: 10032kb
input:
225 20 983700 -466859 -20884 -364855 807044 -308568 -785298 910840 -61173 -276993 -872226 -878552 -235162 831941 978289 938037 585612 -598517 545857 403231 -450887 -558997 -293044 -675226 -900628 102932 -836719 -530135 -534412 -681687 -487340 -227869 161252 -557533 397943 464720 170537 68556 413322 ...
output:
103902.052600549083 185063.038457367744 60443.657372329501 118360.364609652373 157018.785130765347 103511.465806247841 65549.699479301751 67043.358828878074 105010.270532679599 93450.057668448339 96005.228207606386 54350.098601304300 134718.535343140276 98397.354570108218 71213.294966376212 77465.39...
result:
ok 225 numbers
Test #14:
score: 0
Accepted
time: 42ms
memory: 10224kb
input:
6 50 -107573 -479674 -523931 117259 705403 519626 -802569 -162243 510741 876735 206326 -333274 448335 -276206 482965 -837837 873180 -965235 -359525 608790 -53827 782310 689038 -718590 739597 111296 420387 -953079 -492679 -243600 -929509 1174 800731 -968797 208236 193620 249265 499134 848153 771472 5...
output:
20480.382854002277 21190.022149753735 27821.672595880951 28113.319340532515 27223.967607932835 31857.835710023268
result:
ok 6 numbers
Test #15:
score: 0
Accepted
time: 224ms
memory: 10304kb
input:
36 50 569818 -279771 972561 928848 383 744221 -453534 -154445 293032 502859 744851 436690 293077 503053 657 744258 317135 -276665 293067 502799 277103 -439313 282010 -387735 276848 -439025 972274 928763 -110443 -507380 744799 436605 282061 -387926 -453689 -154326 317468 -276534 -453630 -154510 28193...
output:
81019.427454406483 77527.258772979694 55029.246423311844 42253.154385652088 72715.857822992562 197374.630740651628 37469.722581922957 66130.352995364839 54454.597806512014 125611.088368523837 71800.206273050513 87529.336768807625 143932.887614789943 95010.134681514086 86801.347938500679 106229.48886...
result:
ok 36 numbers
Test #16:
score: 0
Accepted
time: 225ms
memory: 10272kb
input:
36 50 -767165 583573 -284890 -681002 -423448 -259226 -285077 -680913 -921552 -557651 -767105 583853 -423314 -259380 790075 -225214 -921537 -557431 -767305 583770 -767124 583508 -921629 -557448 -423530 -259463 -284954 -680837 -423426 -259294 -423469 -259099 -767302 583744 -921772 -557672 -423503 -259...
output:
36643.605480613769 73491.058057637914 355454.440213159309 76283.491515342175 114070.220777055234 102751.942339930800 346834.508596233558 142611.057937860402 246800.067113917379 131055.886666590348 22279.887989219838 215589.657625078806 83424.868814161367 51800.234542961014 43278.861687912809 278223....
result:
ok 36 numbers
Test #17:
score: 0
Accepted
time: 239ms
memory: 10308kb
input:
36 50 -757926 470127 -757550 470454 250422 -395772 250548 -395869 568164 -704082 250417 -396082 -757845 470427 444672 170989 250387 -395875 250484 -395866 568177 -704202 -757558 470484 250530 -395763 250488 -395883 -757754 470201 250529 -396062 -757760 470255 568050 -704413 444991 171218 444963 1710...
output:
41461.415731251021 61470.345902095592 198910.999967381940 35019.368645436647 139342.579707832774 26339.662839055083 247086.679248967383 108103.832978619932 269038.970057263097 40491.226764097344 99838.873958293494 174035.149737150699 172811.211970721022 155604.880301618716 30013.670597071148 250614....
result:
ok 36 numbers
Test #18:
score: 0
Accepted
time: 288ms
memory: 15004kb
input:
9 100 -79487 826724 571284 354748 -312616 727781 -838024 249391 -79475 826592 796988 -514208 -847898 -839919 584481 896431 -847899 -839656 -312680 727782 22798 138363 466409 -215121 -36729 -925283 677267 -733543 -789119 581936 -789111 581860 271104 629366 571356 354824 -946155 -832752 571238 354954 ...
output:
23149.750594908270 20131.169120865557 50752.303675323754 22743.251242484559 21418.019942250052 24609.132975065459 20676.575270589754 23043.755915184120 35012.220302951719
result:
ok 9 numbers
Test #19:
score: 0
Accepted
time: 0ms
memory: 7860kb
input:
1 10 2 -999 3 -998 4 -995 5 -990 6 -983 7 -974 8 -963 9 -950 1000 1000 -1000 1000
output:
293.827108692730
result:
ok found '293.8271087', expected '293.8271087', error '0.0000000'
Test #20:
score: 0
Accepted
time: 875ms
memory: 42828kb
input:
1 300 -1000000 700000 -999999 697990 -999998 695960 -999997 693910 -999996 691840 -999995 689750 -999994 687640 -999993 685510 -999992 683360 -999991 681190 -999990 679000 -999989 676790 -999988 674560 -999987 672310 -999986 670040 -999985 667750 -999984 665440 -999983 663110 -999982 660760 -999981 ...
output:
46.717945370792
result:
ok found '46.7179454', expected '46.7179454', error '0.0000000'
Test #21:
score: 0
Accepted
time: 963ms
memory: 43328kb
input:
1 300 -9999 -2 -9998 -3 -9995 -4 -9990 -5 -9983 -6 -9974 -7 -9963 -8 -9950 -9 -9935 -10 -9918 -11 -9899 -12 -9878 -13 -9855 -14 -9830 -15 -9803 -16 -9774 -17 -9743 -18 -9710 -19 -9675 -20 -9638 -21 -9599 -22 -9558 -23 -9515 -24 -9470 -25 -9423 -26 -9374 -27 -9323 -28 -9270 -29 -9215 -30 -9158 -31 -9...
output:
2367.692137978895
result:
ok found '2367.6921380', expected '2367.6921380', error '0.0000000'
Test #22:
score: 0
Accepted
time: 826ms
memory: 43456kb
input:
1 300 700000 1000000 697990 999999 695960 999998 693910 999997 691840 999996 689750 999995 687640 999994 685510 999993 683360 999992 681190 999991 679000 999990 676790 999989 674560 999988 672310 999987 670040 999986 667750 999985 665440 999984 663110 999983 660760 999982 658390 999981 656000 999980...
output:
46.717945370687
result:
ok found '46.7179454', expected '46.7179454', error '0.0000000'
Test #23:
score: 0
Accepted
time: 1123ms
memory: 43828kb
input:
1 300 -2 9999 -3 9998 -4 9995 -5 9990 -6 9983 -7 9974 -8 9963 -9 9950 -10 9935 -11 9918 -12 9899 -13 9878 -14 9855 -15 9830 -16 9803 -17 9774 -18 9743 -19 9710 -20 9675 -21 9638 -22 9599 -23 9558 -24 9515 -25 9470 -26 9423 -27 9374 -28 9323 -29 9270 -30 9215 -31 9158 -32 9099 -33 9038 -34 8975 -35 8...
output:
2367.692137978728
result:
ok found '2367.6921380', expected '2367.6921380', error '0.0000000'
Test #24:
score: 0
Accepted
time: 1027ms
memory: 43452kb
input:
1 300 1000000 -700000 999999 -697990 999998 -695960 999997 -693910 999996 -691840 999995 -689750 999994 -687640 999993 -685510 999992 -683360 999991 -681190 999990 -679000 999989 -676790 999988 -674560 999987 -672310 999986 -670040 999985 -667750 999984 -665440 999983 -663110 999982 -660760 999981 -...
output:
46.717945370538
result:
ok found '46.7179454', expected '46.7179454', error '0.0000000'
Test #25:
score: 0
Accepted
time: 1043ms
memory: 43968kb
input:
1 300 9999 2 9998 3 9995 4 9990 5 9983 6 9974 7 9963 8 9950 9 9935 10 9918 11 9899 12 9878 13 9855 14 9830 15 9803 16 9774 17 9743 18 9710 19 9675 20 9638 21 9599 22 9558 23 9515 24 9470 25 9423 26 9374 27 9323 28 9270 29 9215 30 9158 31 9099 32 9038 33 8975 34 8910 35 8843 36 8774 37 8703 38 8630 3...
output:
2367.692137978877
result:
ok found '2367.6921380', expected '2367.6921380', error '0.0000000'
Test #26:
score: 0
Accepted
time: 1093ms
memory: 43448kb
input:
1 300 -700000 -1000000 -697990 -999999 -695960 -999998 -693910 -999997 -691840 -999996 -689750 -999995 -687640 -999994 -685510 -999993 -683360 -999992 -681190 -999991 -679000 -999990 -676790 -999989 -674560 -999988 -672310 -999987 -670040 -999986 -667750 -999985 -665440 -999984 -663110 -999983 -6607...
output:
46.717945370580
result:
ok found '46.7179454', expected '46.7179454', error '0.0000000'
Test #27:
score: 0
Accepted
time: 1090ms
memory: 43200kb
input:
1 300 2 -999999 3 -999998 4 -999995 5 -999990 6 -999983 7 -999974 8 -999963 9 -999950 10 -999935 11 -999918 12 -999899 13 -999878 14 -999855 15 -999830 16 -999803 17 -999774 18 -999743 19 -999710 20 -999675 21 -999638 22 -999599 23 -999558 24 -999515 25 -999470 26 -999423 27 -999374 28 -999323 29 -9...
output:
24.916064111362
result:
ok found '24.9160641', expected '24.9160641', error '0.0000000'
Test #28:
score: 0
Accepted
time: 759ms
memory: 42824kb
input:
1 300 2 -44999 3 -44998 4 -44995 5 -44990 6 -44983 7 -44974 8 -44963 9 -44950 10 -44935 11 -44918 12 -44899 13 -44878 14 -44855 15 -44830 16 -44803 17 -44774 18 -44743 19 -44710 20 -44675 21 -44638 22 -44599 23 -44558 24 -44515 25 -44470 26 -44423 27 -44374 28 -44323 29 -44270 30 -44215 31 -44158 32...
output:
479.302066068520
result:
ok found '479.3020661', expected '479.3020661', error '0.0000000'
Test #29:
score: 0
Accepted
time: 994ms
memory: 43760kb
input:
1 300 2 -9999 3 -9998 4 -9995 5 -9990 6 -9983 7 -9974 8 -9963 9 -9950 10 -9935 11 -9918 12 -9899 13 -9878 14 -9855 15 -9830 16 -9803 17 -9774 18 -9743 19 -9710 20 -9675 21 -9638 22 -9599 23 -9558 24 -9515 25 -9470 26 -9423 27 -9374 28 -9323 29 -9270 30 -9215 31 -9158 32 -9099 33 -9038 34 -8975 35 -8...
output:
2367.692137978236
result:
ok found '2367.6921380', expected '2367.6921380', error '0.0000000'
Test #30:
score: 0
Accepted
time: 1002ms
memory: 43540kb
input:
1 300 2 -49999 3 -49998 4 -49995 5 -49990 6 -49983 7 -49974 8 -49963 9 -49950 10 -49935 11 -49918 12 -49899 13 -49878 14 -49855 15 -49830 16 -49803 17 -49774 18 -49743 19 -49710 20 -49675 21 -49638 22 -49599 23 -49558 24 -49515 25 -49470 26 -49423 27 -49374 28 -49323 29 -49270 30 -49215 31 -49158 32...
output:
7347.578773741211
result:
ok found '7347.5787737', expected '7347.5787737', error '0.0000000'
Test #31:
score: 0
Accepted
time: 1067ms
memory: 42828kb
input:
1 300 2 -99999 3 -99998 4 -99995 5 -99990 6 -99983 7 -99974 8 -99963 9 -99950 10 -99935 11 -99918 12 -99899 13 -99878 14 -99855 15 -99830 16 -99803 17 -99774 18 -99743 19 -99710 20 -99675 21 -99638 22 -99599 23 -99558 24 -99515 25 -99470 26 -99423 27 -99374 28 -99323 29 -99270 30 -99215 31 -99158 32...
output:
7264.823548688567
result:
ok found '7264.8235487', expected '7264.8235487', error '0.0000000'
Test #32:
score: 0
Accepted
time: 660ms
memory: 42528kb
input:
1 300 2 -999999 3 -999998 4 -999995 5 -999990 6 -999983 7 -999974 8 -999963 9 -999950 10 -999935 11 -999918 12 -999899 13 -999878 14 -999855 15 -999830 16 -999803 17 -999774 18 -999743 19 -999710 20 -999675 21 -999638 22 -999599 23 -999558 24 -999515 25 -999470 26 -999423 27 -999374 28 -999323 29 -9...
output:
80244.513740441849
result:
ok found '80244.5137404', expected '80244.5137404', error '0.0000000'
Test #33:
score: 0
Accepted
time: 1447ms
memory: 43208kb
input:
1 300 -582688 -338066 65950 664506 726195 -342195 778617 -357210 -854288 556277 300499 294357 643715 884595 145808 699895 823594 197029 -326906 -938477 -635849 -984773 -133686 656789 -435448 690719 903384 -472986 82595 315750 -162788 541714 -77694 -237304 -850565 -426412 248922 -808508 -719332 -6663...
output:
1478.830055879114
result:
ok found '1478.8300559', expected '1478.8300559', error '0.0000000'
Test #34:
score: 0
Accepted
time: 1473ms
memory: 42376kb
input:
1 300 329399 -774056 -453420 -971922 -963389 -692906 -901061 -690960 -954671 -555749 954332 -856245 97920 127454 422794 -72309 402518 -482396 -274243 -242236 -63992 224700 841180 586025 -266496 -824730 -178245 -230280 680876 907784 553835 674598 89593 396532 143208 -684880 538608 -578116 -422477 757...
output:
972.423280233624
result:
ok found '972.4232802', expected '972.4232802', error '0.0000000'
Test #35:
score: 0
Accepted
time: 1317ms
memory: 42428kb
input:
1 300 -360611 262745 -266788 208188 -959303 -907228 -443316 -204307 682906 -640611 -629502 -217089 -323067 -687634 437059 491032 -924621 882842 844758 667473 765630 -661241 -192156 -841346 -154832 -812793 -47327 10282 -597348 957691 892586 942751 142330 937555 953415 -727776 -605831 643868 -310790 -...
output:
1247.635447574849
result:
ok found '1247.6354476', expected '1247.6354476', error '0.0000000'
Test #36:
score: 0
Accepted
time: 1054ms
memory: 42740kb
input:
1 300 -206748 733504 405233 346961 -313290 -216319 -485737 -231831 -164104 165946 -515020 -589364 982156 -80607 873259 619605 -482416 -888108 -569548 252891 -445640 901994 985477 -967333 42455 -483916 73904 760015 -943641 942808 396828 484027 -841584 -24224 -175993 952815 790566 541282 -279849 -3442...
output:
999.019396374877
result:
ok found '999.0193964', expected '999.0193964', error '0.0000000'
Test #37:
score: 0
Accepted
time: 1637ms
memory: 42804kb
input:
1 300 580502 -850604 -828356 778 184624 -535893 -697221 -969976 896503 -655248 -76966 -243055 60920 160544 44843 -658551 -447963 886466 278568 389553 -623912 -127161 678049 -413324 -430351 -318993 -817724 -933164 -711215 340590 -74113 689203 68654 -100261 182253 786353 970301 867792 -749733 -811174 ...
output:
842.059072395605
result:
ok found '842.0590724', expected '842.0590724', error '0.0000000'
Test #38:
score: 0
Accepted
time: 1188ms
memory: 42308kb
input:
1 300 -316120 -118763 45309 190875 409669 -105265 -506284 573308 -516833 322648 -866719 -936225 -12677 -985703 711314 569209 941787 83443 -514860 686132 -790586 -545380 430362 -424821 -833415 938854 -942534 683223 -240135 606924 -403050 269157 -215947 985881 -549116 600378 459464 -595098 725250 1147...
output:
1024.497869845572
result:
ok found '1024.4978698', expected '1024.4978698', error '0.0000000'
Test #39:
score: 0
Accepted
time: 1125ms
memory: 43020kb
input:
1 300 -173407 -202877 781435 -868900 -708456 340380 -576940 717700 182725 270819 936854 705842 -558936 563953 -442817 -537862 456021 536960 -280357 -280460 865334 142839 774139 179758 441597 150328 97859 -980348 -33644 644740 -930102 492073 -672777 225390 567301 -123428 272474 613299 939529 -568972 ...
output:
999.858900835391
result:
ok found '999.8589008', expected '999.8589008', error '0.0000000'
Test #40:
score: 0
Accepted
time: 1465ms
memory: 43092kb
input:
1 300 -345250 -831776 -186776 -708481 -461210 345548 -813591 339981 875529 -243454 -612714 -565349 342248 -74704 440632 -335722 -680195 541251 -40910 -905178 644877 899186 274573 743026 873540 -442740 535392 952686 797733 860447 -20479 505758 -951532 613082 -890210 663776 767606 -285569 466835 86332...
output:
931.052311224034
result:
ok found '931.0523112', expected '931.0523112', error '0.0000000'
Test #41:
score: 0
Accepted
time: 1522ms
memory: 43420kb
input:
1 300 370249 -59123 -776101 -977670 -243135 -532403 -579041 96635 569778 -862215 413939 -366298 481224 272525 393367 -40979 483831 994010 -233019 628811 -143918 477955 339126 11331 -107685 517540 622176 -412060 -177324 -205192 431089 749790 -95536 -210836 548410 -707079 616094 -127500 -783278 -72261...
output:
933.760486717436
result:
ok found '933.7604867', expected '933.7604867', error '0.0000000'
Test #42:
score: 0
Accepted
time: 1663ms
memory: 42056kb
input:
1 300 572725 -213611 493742 -808213 -710052 -380510 893881 -474967 9640 -788263 -459353 580756 -26412 638961 440498 -802856 453695 -912107 22051 -399011 547574 755649 -686907 874963 -504322 -340049 692117 -724428 668948 874184 48863 726276 -663172 -738633 360506 985895 589965 723490 -791113 -581246 ...
output:
1077.841380659701
result:
ok found '1077.8413807', expected '1077.8413807', error '0.0000000'
Test #43:
score: 0
Accepted
time: 879ms
memory: 42504kb
input:
1 300 -18347 947891 -18966 947674 -18153 949129 371892 55936 -19040 948495 -19316 948666 -19369 949236 -18720 948324 -19293 949610 -17823 949522 -19243 948220 -18639 948552 -17649 949411 371651 54266 -19228 948586 -17602 948463 -19485 949188 -18243 948112 -17773 948743 372205 54093 -18298 949126 371...
output:
430.901650849991
result:
ok found '430.9016508', expected '430.9016509', error '0.0000000'
Test #44:
score: 0
Accepted
time: 889ms
memory: 43844kb
input:
1 300 -74242 456694 -526886 299650 -74220 457055 -73487 456305 -73859 456656 61507 -819056 60998 -819121 -526707 299370 -526276 300041 61552 -817655 -526738 299576 -74124 456791 -527186 299008 61978 -818405 -74813 455682 60560 -819145 -73451 455525 -74892 457185 -73693 456477 60721 -818196 60214 -81...
output:
90267.093134149181
result:
ok found '90267.0931341', expected '90267.0931341', error '0.0000000'
Test #45:
score: 0
Accepted
time: 1070ms
memory: 42672kb
input:
1 300 574585 394710 574622 393610 -423278 771639 -424926 771360 -424084 771410 -355381 -781788 -355711 -782971 573941 394518 -356559 -782641 -356747 -782401 468958 -215431 -423584 771961 574237 394615 -423230 771874 574235 394702 -424141 771353 -423250 771823 469278 -214864 -423677 771854 470643 -21...
output:
217408.148135299969
result:
ok found '217408.1481353', expected '217408.1481353', error '0.0000000'
Test #46:
score: 0
Accepted
time: 950ms
memory: 42396kb
input:
1 300 426446 450150 704880 -177836 705023 -177943 365125 -787336 426646 450111 365336 -787509 -488479 191560 365230 -787626 351178 85715 426393 450079 426499 450252 350929 85788 351095 85697 350955 85774 351185 85404 426289 450343 -488469 191487 365412 -787578 351069 85754 -488205 191341 365332 -787...
output:
20170.870906386666
result:
ok found '20170.8709064', expected '20170.8709064', error '0.0000000'
Test #47:
score: 0
Accepted
time: 785ms
memory: 42924kb
input:
1 300 -400243 814451 22608 892635 -400101 814103 6514 778975 993334 -477496 6342 779132 462061 255284 -51701 297766 22472 892564 340929 -448021 479819 -339231 -400286 814390 211825 26983 6556 779317 993060 -477289 993308 -477342 -51535 297899 340706 -447842 340883 -447854 -400416 814256 -400283 8141...
output:
9230.442316324688
result:
ok found '9230.4423163', expected '9230.4423163', error '0.0000000'
Test #48:
score: 0
Accepted
time: 846ms
memory: 43128kb
input:
1 300 -474014 -864992 -630838 -307407 -630606 -307503 -124096 -743059 -771964 728691 772586 240106 -772183 728879 391413 526273 199846 912927 428389 -576556 -308290 579377 -255160 -108840 772406 240313 -367068 -161358 772571 240365 -308290 579342 391393 526479 -415239 -4737 -367131 -161451 199868 91...
output:
15025.974843814167
result:
ok found '15025.9748438', expected '15025.9748438', error '0.0000000'
Test #49:
score: 0
Accepted
time: 805ms
memory: 43096kb
input:
1 300 50620 -400031 50739 -399860 510490 905605 -231850 -472272 819819 -32769 556769 430166 510572 905474 -835681 -521539 -892931 517162 308414 643333 726593 422199 864670 -884154 -923273 383788 405709 273425 -479932 -974056 410500 738923 186655 767275 -182443 950085 -567600 -112887 603101 210566 93...
output:
3406.453545214995
result:
ok found '3406.4535452', expected '3406.4535452', error '0.0000000'
Test #50:
score: 0
Accepted
time: 1114ms
memory: 44072kb
input:
1 300 176452 -329206 -579449 737212 -127383 552242 979657 -356153 80368 -694513 460265 -812959 445149 141242 -457009 -165865 607661 133016 -790741 -28932 833272 -591475 -579288 737176 -259244 232127 -387178 -302780 176289 -329051 -581332 414202 130425 339972 280492 -57804 -23731 -362222 -538093 -596...
output:
1990.340567872288
result:
ok found '1990.3405679', expected '1990.3405679', error '0.0000000'
Test #51:
score: 0
Accepted
time: 1183ms
memory: 43308kb
input:
1 300 1000000 0 999780 20942 999122 41875 998026 62790 996492 83677 994521 104528 992114 125333 989272 146083 985996 166768 982287 187381 978147 207911 973578 228350 968583 248689 963162 268919 957319 289031 951056 309016 944376 328866 937281 348572 929776 368124 921863 387515 913545 406736 904827 4...
output:
499972.252536308952
result:
ok found '499972.2525363', expected '499972.2525363', error '0.0000000'
Test #52:
score: 0
Accepted
time: 1419ms
memory: 42092kb
input:
1 299 1000000 0 999111 42156 996445 84238 992008 126169 985807 167877 977854 209286 968162 250323 956748 290915 943634 330989 928842 370475 912398 409303 894332 447402 874676 484707 853465 521149 830736 556665 806531 591191 780891 624666 753863 657030 725495 688227 695837 718199 664941 746895 632864...
output:
208109.814859427337
result:
ok found '208109.8148594', expected '208109.8148594', error '0.0000000'