QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#90904 | #5667. Meeting Places | He_Ren | AC ✓ | 430ms | 76076kb | C++23 | 9.4kb | 2023-03-26 02:31:32 | 2023-03-26 02:31:47 |
Judging History
answer
#include <bits/stdc++.h>
typedef long double T;
const T eps = 1e-7;
using namespace std;
struct pt
{
T x, y;
pt (T x = 0.0, T y = 0.0) : x(x), y(y) { }
pt operator+(const pt &z) const { return pt(x + z.x, y + z.y); }
pt operator-(const pt &z) const { return pt(x - z.x, y - z.y); }
pt operator*(const T k) const { return pt(x * k, y * k); }
pt operator/(const T k) const { return pt(x / k, y / k); }
bool operator==(const pt &z) const
{
return x == z.x && y == z.y;
}
bool operator!=(const pt &z) const
{
return x != z.x || y != z.y;
}
};
pt operator*(const T k, const pt &z) { return pt(z.x * k, z.y * k); }
pt operator/(const T k, const pt &z) { return pt(z.x / k, z.y / k); }
inline int dcmp(const T x)
{
if (x > eps) return 1;
if (x < -eps) return -1;
return 0;
}
std::istream& operator>>(std::istream &inf, pt &p)
{
return inf >> p.x >> p.y;
}
std::ostream& operator<<(std::ostream &ouf, const pt &p)
{
return ouf << p.x << " " << p.y;
}
inline T dot(const pt &a, const pt &b)
{
return a.x * b.x + a.y * b.y;
}
inline T cross(const pt &a, const pt &b)
{
return a.x * b.y - a.y * b.x;
}
inline pt midpoint(const pt &a, const pt &b)
{
return (a + b) / 2.0;
}
inline T sq(const pt &a)
{
return a.x * a.x + a.y * a.y;
}
inline T abs(const pt &a)
{
return sqrtl(sq(a));
}
inline pt perp(const pt &p)
{
return pt(-p.y, p.x);
}
struct ln
{
pt v; T c;
ln(pt v, T c) : v(v), c(c) { } // direction vector + offset
ln(T a, T b, T c) : v({b, -a}), c(c) { } // ax + by = c
ln(pt p, pt q) : v(q - p), c(cross(v, p)) { } // p, q
T side(const pt &p) const
{
return cross(v, p) - c;
}
T dist(const pt &p) const
{
return abs(side(p)) / abs(v);
}
T sqDist(const pt &p) const
{
return side(p) * side(p) / sq(v);
}
ln perpThough(const pt &p) const
{
return ln(p, p + perp(v));
}
pt proj(const pt &p) const
{
T k = -side(p) / sq(v);
return p + k * perp(v);
}
pt refl(const pt &p) const
{
T k = -2 * side(p) / sq(v);
return p + k * perp(v);
}
bool cmpProj(const pt &p, const pt &q) const
{
return dot(v, p) < dot(v, q);
}
};
inline bool inter(const ln &l1, const ln &l2, pt &out)
{
T d = cross(l1.v, l2.v);
if (dcmp(d) == 0) return false;
out = (l1.c * l2.v - l1.v * l2.c) / d;
return true;
}
// a, b, c clockwise <=> < 0
// a, b, c counter-clockwise <=> > 0
inline T orient(const pt &a, const pt &b, const pt &c)
{
return cross(b - a, c - a);
}
inline ln bisector(const ln &l1, const ln &l2, bool interior = true)
{
double sign = interior ? 1 : -1;
return { l2.v / abs(l2.v) + l1.v / abs(l1.v) * sign,
l2.c / abs(l2.v) + l1.c / abs(l1.v) * sign};
}
inline bool inDisk(const pt &a, const pt &b, const pt &p)
{
return dot(a - p, b - p) <= 0;
}
inline bool onSegment(const pt &a, const pt &b, const pt &p)
{
return dcmp(orient(a, b, p)) == 0 && inDisk(a, b, p);
}
inline bool properInter(const pt &a, const pt &b, const pt &c, const pt &d, pt &out)
{
T oa = orient(c, d, a), ob = orient(c, d, b), oc = orient(a, b, c), od = orient(a, b, d);
if (oa * ob < 0 && oc * od < 0)
{
out = (a * ob - b * oa) / (ob - oa);
return true;
}
return false;
}
inline T segPoint(const pt &a, const pt &b, const pt &p)
{
if (a != b)
{
ln l(a, b);
if (l.cmpProj(a, p) && l.cmpProj(p, b))
return l.dist(p);
}
return std::min(abs(p - a), abs(p - b));
}
inline T segSeg(const pt &a, const pt &b, const pt &c, const pt &d)
{
pt dummy;
if (properInter(a, b, c, d, dummy)) return 0;
return std::min({ segPoint(a, b, c), segPoint(a, b, d), segPoint(c, d, a), segPoint(c, d, b) });
}
inline pt incenter(const pt &p1, const pt &p2, const pt &p3)
{
ln l1(p1, p2), l2(p1, p3), l3(p3, p2);
ln a = bisector(l1, l2), b = bisector(l1, l3);
pt bar;
assert(inter(a, b, bar));
return bar;
}
inline pt circumcenter(const pt &p1, const pt &p2, const pt &p3)
{
const ln &l1 = ln(p1, p2).perpThough(midpoint(p1, p2));
const ln &l2 = ln(p1, p3).perpThough(midpoint(p1, p3));
pt bar; assert(inter(l1, l2, bar));
return bar;
}
inline T areaPolygon(std::vector<pt> p)
{
T area = 0.0;
for (int i = 0, n = p.size(); i < n; ++i)
{
area += cross(p[i], p[(i + 1) % n]);
}
return abs(area) / 2.0;
}
inline bool above(const pt &a, const pt &b)
{
return a.y >= b.y;
}
inline bool crossesRay(const pt &a, const pt &p, const pt &q)
{
return (above(a, q) - above(a, p)) * orient(a, p, q) > 0;
}
inline bool inPolygon(std::vector<pt> p, const pt &a, bool strict = true)
{
int c = 0;
for (int i = 0, n = p.size(); i < n; ++i)
{
if (onSegment(p[i], p[(i + 1) % n], a))
return !strict;
c ^= crossesRay(a, p[i], p[(i + 1) % n]);
}
return c & 1;
}
inline std::vector<pt> convexHull(std::vector<pt> p)
{
if (p.size() <= 2) return p;
std::sort(p.begin(), p.end(), [&](const pt &x, const pt &y) { return x.x == y.x ? x.y < y.y : x.x < y.x; });
std::vector<int> st, vis(p.size());
st.push_back(0);
for (int i = 1; i < p.size(); ++i)
{
while (st.size() > 1 && orient(p[st[st.size() - 2]], p[st[st.size() - 1]], p[i]) < 0) vis[st.back()] = false, st.pop_back();
st.push_back(i); vis[i] = true;
}
int cur = st.size();
for (int i = p.size() - 2; i >= 0; --i)
{
if (!vis[i])
{
while (st.size() > cur && orient(p[st[st.size() - 2]], p[st[st.size() - 1]], p[i]) < 0) vis[st.back()] = false, st.pop_back();
st.push_back(i); vis[i] = true;
}
}
std::vector<pt> res;
for (int i = 0; i < st.size() - 1; ++i) res.push_back(p[st[i]]);
return res;
}
inline T convexDiameter(std::vector<pt> p)
{
if (p.size() <= 1) return 0;
int i0 = 0, j0 = 0, n = p.size();
auto cmp = [&](const pt &a, const pt &b)
{
return a.x == b.x ? a.y < b.y : a.x < b.x;
};
for (int i = 1; i < n; ++i)
{
if (cmp(p[i0], p[i])) i0 = i;
if (cmp(p[i], p[j0])) j0 = i;
}
int i = i0, j = j0; T d = 0.0;
do
{
d = std::max(d, abs(p[i] - p[j]));
if (cross(p[(i + 1) % n] - p[i], p[(j + 1) % n] - p[j]) < 0) i = (i + 1) % n;
else j = (j + 1) % n;
} while (i != i0 || j != j0);
return d;
}
struct cr
{
T r; pt o;
cr() : r(), o() {}
cr(pt o, T r) : r(r), o(o) {}
bool inside(const pt &p) {
return dcmp(sq(p - o) - r * r) <= 0;
}
};
inline int circleLine(const cr &C, const ln &l, std::pair<pt, pt> &out)
{
T h2 = C.r * C.r - l.sqDist(C.o);
if (dcmp(h2) >= 0)
{
pt p = l.proj(C.o), h = l.v / abs(l.v) * sqrt(h2);
out = std::make_pair(p - h, p + h);
}
return 1 + dcmp(h2);
}
inline int circleCircle(const cr &C1, const cr &C2, std::pair<pt, pt> &out)
{
pt d = C2.o - C1.o; T d2 = sq(d);
if (dcmp(d2) == 0)
{
assert(dcmp(C1.r - C2.r) != 0);
return 0;
}
T pd = (d2 + C1.r * C1.r - C2.r * C2.r) / 2, h2 = C1.r * C1.r - pd * pd / d2;
if (h2 >= 0)
{
pt p = C1.o + d * pd / d2, h = perp(d) * sqrt(h2 / d2);
out = std::make_pair(p - h , p + h);
}
return 1 + dcmp(h2);
}
inline int tangents(cr C1, cr C2, bool inner, std::vector<std::pair<pt, pt>> &out)
{
if (inner) C2.r = -C2.r;
pt d = C2.o - C1.o;
T dr = C1.r - C2.r, d2 = sq(d), h2 = d2 - dr * dr;
if (dcmp(d2) == 0 || dcmp(h2) == -1)
{
assert(dcmp(h2) != 0);
return 0;
}
for (double k : {-1, 1})
{
pt v = (d * dr + perp(d) * sqrtl(h2) * k) / d2;
out.emplace_back(C1.o + v * C1.r, C2.o + v * C2.r);
}
return 1 + (dcmp(h2) > 0);
}
inline cr build(pt a) {
return cr(a, 0);
}
inline cr build(pt a, pt b) {
return cr((a + b) / 2, abs(a - b) / 2);
}
inline cr build(pt a, pt b, pt c) {
// cerr << a << " " << b << " " << c << '\n';
T w = cross(b - a, c - a);
T z = 2 * w * w;
T i = sq(b - c) * dot(a - b, a - c);
T j = sq(a - c) * dot(b - a, b - c);
T k = sq(a - b) * dot(c - a, c - b);
T xx = i * a.x + j * b.x + k * c.x;
T yy = i * a.y + j * b.y + k * c.y;
pt O(xx / z, yy / z);
T da = abs(O - a), db = abs(O - b), dc = abs(O - c);
// cerr << da << ' ' << db << ' ' << dc << '\n';
// cerr << "diff: " << abs(da - db) << ' ' << abs(da - dc) << '\n';
// assert(dcmp(da - db) == 0 && dcmp(da - dc) == 0);
return cr(O, da);
}
const int N = 7505;
pt p[N], q[3];
T dp[N][N];
vector<pair<int, T>> c[N];
const int mod = (1ll << 31) - 1;
int n, k, s;
inline int go() {
int r = s;
s = (s * 233811181ll + 1) % mod;
return r;
}
int main() {
std::ios::sync_with_stdio(false);
cin.tie(nullptr); cout.tie(nullptr);
cout << std::fixed << std::setprecision(15);
cin >> n >> k >> s;
for (int i = 0; i < n; ++i) {
p[i].x = go();
p[i].y = go();
}
function<cr(int ,int, int)> solve = [&](int t, int n, int m) {
cr cur;
if (m == 1) {
cur = build(q[0]);
}
else if (m == 2) {
cur = build(q[0], q[1]);
}
else if (m == 3) {
return cur = build(q[0], q[1], q[2]);
}
for (int i = t; i < n; ++i) {
if (!cur.inside(p[i])) {
q[m] = p[i];
cur = solve(t, i, m + 1);
if (!m)
c[t].emplace_back(i, cur.r);
}
}
if (!m) c[t].emplace_back(n, 1e18);
return cur;
};
for (int i = 0; i < n; ++i) {
solve(i, n, 0);
}
for (int i = 0; i <= k; ++i)
for (int j = 0; j < n; ++j)
dp[i][j] = 1e100;
for (int i = 1; i <= k; ++i) {
for (int j = n - 1; j >= 0; --j) {
dp[i][j] = dp[i- 1][j];
for (int t = 0; t + 1 < c[j].size(); ++t) {
int k = c[j][t + 1].first;
T cost = c[j][t].second;
dp[i][j] = min(dp[i][j], dp[i - 1][k] + cost);
}
}
}
cout << dp[k][0] << '\n';
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 3ms
memory: 4148kb
input:
100 23 213
output:
1319350480.800732538686134
result:
ok found '1319350480.8007326', expected '1319350480.8007326', error '0.0000000'
Test #2:
score: 0
Accepted
time: 0ms
memory: 4032kb
input:
10 1 1060
output:
1042753143.345167686580680
result:
ok found '1042753143.3451676', expected '1042753143.3451676', error '0.0000000'
Test #3:
score: 0
Accepted
time: 2ms
memory: 3956kb
input:
10 10 2373
output:
0.000000000000000
result:
ok found '0.0000000', expected '0.0000000', error '-0.0000000'
Test #4:
score: 0
Accepted
time: 2ms
memory: 3944kb
input:
10 2 3396
output:
1236610536.946923031238839
result:
ok found '1236610536.9469230', expected '1236610536.9469230', error '0.0000000'
Test #5:
score: 0
Accepted
time: 2ms
memory: 4084kb
input:
10 3 1998
output:
973790809.822444227524102
result:
ok found '973790809.8224442', expected '973790809.8224442', error '0.0000000'
Test #6:
score: 0
Accepted
time: 0ms
memory: 4020kb
input:
10 4 562
output:
910867389.906932937679812
result:
ok found '910867389.9069330', expected '910867389.9069330', error '0.0000000'
Test #7:
score: 0
Accepted
time: 1ms
memory: 4100kb
input:
10 5 6048
output:
818240814.710514981939923
result:
ok found '818240814.7105150', expected '818240814.7105150', error '0.0000000'
Test #8:
score: 0
Accepted
time: 2ms
memory: 3968kb
input:
10 6 2524
output:
500106979.346776274440344
result:
ok found '500106979.3467762', expected '500106979.3467762', error '0.0000000'
Test #9:
score: 0
Accepted
time: 2ms
memory: 4068kb
input:
10 7 5415
output:
559478971.432005886686966
result:
ok found '559478971.4320059', expected '559478971.4320059', error '0.0000000'
Test #10:
score: 0
Accepted
time: 2ms
memory: 4132kb
input:
10 8 1438
output:
500309745.462769993639085
result:
ok found '500309745.4627700', expected '500309745.4627700', error '0.0000000'
Test #11:
score: 0
Accepted
time: 0ms
memory: 4068kb
input:
10 9 3172
output:
162279748.875345173946698
result:
ok found '162279748.8753452', expected '162279748.8753452', error '0.0000000'
Test #12:
score: 0
Accepted
time: 1ms
memory: 4048kb
input:
100 1 8316
output:
1320052902.152290252735838
result:
ok found '1320052902.1522903', expected '1320052902.1522903', error '0.0000000'
Test #13:
score: 0
Accepted
time: 2ms
memory: 4532kb
input:
100 100 4179
output:
0.000000000000000
result:
ok found '0.0000000', expected '0.0000000', error '-0.0000000'
Test #14:
score: 0
Accepted
time: 4ms
memory: 4068kb
input:
100 12 3405
output:
1329687126.130454878555611
result:
ok found '1329687126.1304548', expected '1329687126.1304548', error '0.0000000'
Test #15:
score: 0
Accepted
time: 3ms
memory: 4124kb
input:
100 16 8378
output:
1338056514.484269471722655
result:
ok found '1338056514.4842694', expected '1338056514.4842694', error '0.0000000'
Test #16:
score: 0
Accepted
time: 2ms
memory: 4064kb
input:
100 2 1858
output:
1310392496.143058079411276
result:
ok found '1310392496.1430581', expected '1310392496.1430581', error '0.0000000'
Test #17:
score: 0
Accepted
time: 1ms
memory: 4128kb
input:
100 25 4596
output:
1440464106.622929672012106
result:
ok found '1440464106.6229296', expected '1440464106.6229298', error '0.0000000'
Test #18:
score: 0
Accepted
time: 2ms
memory: 4128kb
input:
100 3 5633
output:
1399621082.614273683400825
result:
ok found '1399621082.6142738', expected '1399621082.6142738', error '0.0000000'
Test #19:
score: 0
Accepted
time: 3ms
memory: 4164kb
input:
100 32 7827
output:
1342073760.532232963712886
result:
ok found '1342073760.5322330', expected '1342073760.5322330', error '0.0000000'
Test #20:
score: 0
Accepted
time: 3ms
memory: 4064kb
input:
100 4 3693
output:
1339808706.709868879057467
result:
ok found '1339808706.7098689', expected '1339808706.7098689', error '0.0000000'
Test #21:
score: 0
Accepted
time: 2ms
memory: 4048kb
input:
100 5 2252
output:
1394874243.505704202339984
result:
ok found '1394874243.5057042', expected '1394874243.5057042', error '0.0000000'
Test #22:
score: 0
Accepted
time: 3ms
memory: 4280kb
input:
100 50 4254
output:
1322809748.405283543979749
result:
ok found '1322809748.4052835', expected '1322809748.4052832', error '0.0000000'
Test #23:
score: 0
Accepted
time: 3ms
memory: 4148kb
input:
100 6 53
output:
1364441356.170098817208782
result:
ok found '1364441356.1700988', expected '1364441356.1700988', error '0.0000000'
Test #24:
score: 0
Accepted
time: 0ms
memory: 4376kb
input:
100 64 4337
output:
1180754550.242283903760836
result:
ok found '1180754550.2422838', expected '1180754550.2422838', error '0.0000000'
Test #25:
score: 0
Accepted
time: 2ms
memory: 4052kb
input:
100 7 5366
output:
1423557626.358679703436792
result:
ok found '1423557626.3586798', expected '1423557626.3586798', error '0.0000000'
Test #26:
score: 0
Accepted
time: 2ms
memory: 4088kb
input:
100 8 8509
output:
1353289305.351995564647950
result:
ok found '1353289305.3519955', expected '1353289305.3519957', error '0.0000000'
Test #27:
score: 0
Accepted
time: 2ms
memory: 4164kb
input:
100 9 1423
output:
1228887266.566166959470138
result:
ok found '1228887266.5661669', expected '1228887266.5661671', error '0.0000000'
Test #28:
score: 0
Accepted
time: 3ms
memory: 4628kb
input:
100 91 4806
output:
656574218.508675504534040
result:
ok found '656574218.5086755', expected '656574218.5086756', error '0.0000000'
Test #29:
score: 0
Accepted
time: 2ms
memory: 4500kb
input:
100 92 4024
output:
794693428.616224033874460
result:
ok found '794693428.6162241', expected '794693428.6162238', error '0.0000000'
Test #30:
score: 0
Accepted
time: 1ms
memory: 4488kb
input:
100 93 606
output:
677641787.486312211549375
result:
ok found '677641787.4863123', expected '677641787.4863122', error '0.0000000'
Test #31:
score: 0
Accepted
time: 4ms
memory: 4608kb
input:
100 94 7265
output:
686423239.262602770351805
result:
ok found '686423239.2626028', expected '686423239.2626028', error '0.0000000'
Test #32:
score: 0
Accepted
time: 3ms
memory: 4612kb
input:
100 95 8469
output:
328187125.923595068714349
result:
ok found '328187125.9235951', expected '328187125.9235951', error '0.0000000'
Test #33:
score: 0
Accepted
time: 1ms
memory: 4600kb
input:
100 96 1079
output:
492964787.625908539223019
result:
ok found '492964787.6259086', expected '492964787.6259086', error '0.0000000'
Test #34:
score: 0
Accepted
time: 3ms
memory: 4528kb
input:
100 97 5453
output:
258652807.790656469864189
result:
ok found '258652807.7906565', expected '258652807.7906564', error '0.0000000'
Test #35:
score: 0
Accepted
time: 4ms
memory: 4536kb
input:
100 98 1778
output:
159490192.118890693323920
result:
ok found '159490192.1188907', expected '159490192.1188908', error '0.0000000'
Test #36:
score: 0
Accepted
time: 3ms
memory: 4532kb
input:
100 99 1825
output:
33793756.328998042445164
result:
ok found '33793756.3289980', expected '33793756.3289980', error '0.0000000'
Test #37:
score: 0
Accepted
time: 19ms
memory: 4612kb
input:
1000 1 2453
output:
1486878333.285857413196936
result:
ok found '1486878333.2858574', expected '1486878333.2858574', error '0.0000000'
Test #38:
score: 0
Accepted
time: 78ms
memory: 24256kb
input:
1000 1000 1798
output:
0.000000000000000
result:
ok found '0.0000000', expected '0.0000000', error '-0.0000000'
Test #39:
score: 0
Accepted
time: 21ms
memory: 7116kb
input:
1000 125 43
output:
1474031969.517423305311240
result:
ok found '1474031969.5174234', expected '1474031969.5174232', error '0.0000000'
Test #40:
score: 0
Accepted
time: 36ms
memory: 7360kb
input:
1000 128 8107
output:
1440374614.939197620726191
result:
ok found '1440374614.9391975', expected '1440374614.9391975', error '0.0000000'
Test #41:
score: 0
Accepted
time: 39ms
memory: 5156kb
input:
1000 15 6639
output:
1491336935.553624947089702
result:
ok found '1491336935.5536249', expected '1491336935.5536251', error '0.0000000'
Test #42:
score: 0
Accepted
time: 38ms
memory: 4988kb
input:
1000 16 1251
output:
1445211807.116096374811605
result:
ok found '1445211807.1160963', expected '1445211807.1160963', error '0.0000000'
Test #43:
score: 0
Accepted
time: 32ms
memory: 4800kb
input:
1000 2 1303
output:
1468989868.648602263187058
result:
ok found '1468989868.6486022', expected '1468989868.6486022', error '0.0000000'
Test #44:
score: 0
Accepted
time: 34ms
memory: 9644kb
input:
1000 250 4457
output:
1487674970.766015956061892
result:
ok found '1487674970.7660160', expected '1487674970.7660158', error '0.0000000'
Test #45:
score: 0
Accepted
time: 45ms
memory: 9720kb
input:
1000 256 4135
output:
1474218271.514077227562666
result:
ok found '1474218271.5140772', expected '1474218271.5140772', error '0.0000000'
Test #46:
score: 0
Accepted
time: 23ms
memory: 4868kb
input:
1000 3 713
output:
1482496228.990477659972385
result:
ok found '1482496228.9904776', expected '1482496228.9904778', error '0.0000000'
Test #47:
score: 0
Accepted
time: 28ms
memory: 5316kb
input:
1000 31 8139
output:
1494361943.479919489240274
result:
ok found '1494361943.4799194', expected '1494361943.4799194', error '0.0000000'
Test #48:
score: 0
Accepted
time: 36ms
memory: 5308kb
input:
1000 32 7916
output:
1499333171.093864779686555
result:
ok found '1499333171.0938647', expected '1499333171.0938647', error '0.0000000'
Test #49:
score: 0
Accepted
time: 25ms
memory: 4856kb
input:
1000 4 2432
output:
1455826569.039410223253071
result:
ok found '1455826569.0394101', expected '1455826569.0394101', error '0.0000000'
Test #50:
score: 0
Accepted
time: 20ms
memory: 4800kb
input:
1000 5 2457
output:
1452189628.196714064572006
result:
ok found '1452189628.1967142', expected '1452189628.1967139', error '0.0000000'
Test #51:
score: 0
Accepted
time: 47ms
memory: 14552kb
input:
1000 500 8734
output:
1432279300.566278453683481
result:
ok found '1432279300.5662785', expected '1432279300.5662787', error '0.0000000'
Test #52:
score: 0
Accepted
time: 55ms
memory: 14912kb
input:
1000 512 1866
output:
1446804508.035186520777643
result:
ok found '1446804508.0351865', expected '1446804508.0351865', error '0.0000000'
Test #53:
score: 0
Accepted
time: 12ms
memory: 4696kb
input:
1000 6 1580
output:
1490178756.856603475054726
result:
ok found '1490178756.8566034', expected '1490178756.8566034', error '0.0000000'
Test #54:
score: 0
Accepted
time: 34ms
memory: 5896kb
input:
1000 62 3047
output:
1482100829.646710895351134
result:
ok found '1482100829.6467109', expected '1482100829.6467109', error '0.0000000'
Test #55:
score: 0
Accepted
time: 22ms
memory: 6060kb
input:
1000 64 4836
output:
1441850815.855361351510510
result:
ok found '1441850815.8553615', expected '1441850815.8553615', error '0.0000000'
Test #56:
score: 0
Accepted
time: 32ms
memory: 4888kb
input:
1000 7 5269
output:
1473104490.728798354393803
result:
ok found '1473104490.7287984', expected '1473104490.7287984', error '0.0000000'
Test #57:
score: 0
Accepted
time: 23ms
memory: 4812kb
input:
1000 8 2649
output:
1459133296.606623450643383
result:
ok found '1459133296.6066234', expected '1459133296.6066234', error '0.0000000'
Test #58:
score: 0
Accepted
time: 25ms
memory: 4856kb
input:
1000 9 3999
output:
1482914523.380703903501853
result:
ok found '1482914523.3807039', expected '1482914523.3807039', error '0.0000000'
Test #59:
score: 0
Accepted
time: 78ms
memory: 24060kb
input:
1000 991 3610
output:
295501032.478087428869912
result:
ok found '295501032.4780874', expected '295501032.4780874', error '0.0000000'
Test #60:
score: 0
Accepted
time: 87ms
memory: 24104kb
input:
1000 992 3030
output:
337274092.654038187873084
result:
ok found '337274092.6540382', expected '337274092.6540381', error '0.0000000'
Test #61:
score: 0
Accepted
time: 85ms
memory: 24180kb
input:
1000 993 6980
output:
222375113.105798610704369
result:
ok found '222375113.1057986', expected '222375113.1057986', error '0.0000000'
Test #62:
score: 0
Accepted
time: 72ms
memory: 24204kb
input:
1000 994 7222
output:
218007091.693304088083096
result:
ok found '218007091.6933041', expected '218007091.6933041', error '0.0000000'
Test #63:
score: 0
Accepted
time: 80ms
memory: 24192kb
input:
1000 995 1323
output:
169577520.223652874512482
result:
ok found '169577520.2236529', expected '169577520.2236529', error '0.0000000'
Test #64:
score: 0
Accepted
time: 70ms
memory: 24144kb
input:
1000 996 2761
output:
135524743.911448715269216
result:
ok found '135524743.9114487', expected '135524743.9114488', error '0.0000000'
Test #65:
score: 0
Accepted
time: 68ms
memory: 24244kb
input:
1000 997 4946
output:
87043806.422792088611459
result:
ok found '87043806.4227921', expected '87043806.4227921', error '0.0000000'
Test #66:
score: 0
Accepted
time: 70ms
memory: 24164kb
input:
1000 998 842
output:
24094936.551191687944083
result:
ok found '24094936.5511917', expected '24094936.5511917', error '0.0000000'
Test #67:
score: 0
Accepted
time: 68ms
memory: 24248kb
input:
1000 999 5078
output:
4597519.064655034141197
result:
ok found '4597519.0646550', expected '4597519.0646550', error '0.0000000'
Test #68:
score: 0
Accepted
time: 76ms
memory: 5672kb
input:
2000 1 2633
output:
1502350354.499526989529841
result:
ok found '1502350354.4995270', expected '1502350354.4995270', error '0.0000000'
Test #69:
score: 0
Accepted
time: 210ms
memory: 40960kb
input:
2000 1000 6248
output:
1469507093.404211048968136
result:
ok found '1469507093.4042110', expected '1469507093.4042110', error '0.0000000'
Test #70:
score: 0
Accepted
time: 204ms
memory: 41724kb
input:
2000 1024 2507
output:
1448066815.318478936678730
result:
ok found '1448066815.3184788', expected '1448066815.3184788', error '0.0000000'
Test #71:
score: 0
Accepted
time: 142ms
memory: 10080kb
input:
2000 125 3002
output:
1476846542.031891053309664
result:
ok found '1476846542.0318911', expected '1476846542.0318909', error '0.0000000'
Test #72:
score: 0
Accepted
time: 89ms
memory: 10140kb
input:
2000 128 5622
output:
1464957942.640037996694446
result:
ok found '1464957942.6400380', expected '1464957942.6400380', error '0.0000000'
Test #73:
score: 0
Accepted
time: 55ms
memory: 6040kb
input:
2000 15 5891
output:
1490626300.155867164954543
result:
ok found '1490626300.1558671', expected '1490626300.1558671', error '0.0000000'
Test #74:
score: 0
Accepted
time: 61ms
memory: 6072kb
input:
2000 16 1750
output:
1504400245.414980667643249
result:
ok found '1504400245.4149806', expected '1504400245.4149806', error '0.0000000'
Test #75:
score: 0
Accepted
time: 373ms
memory: 75716kb
input:
2000 1990 6698
output:
313951388.404651154123712
result:
ok found '313951388.4046512', expected '313951388.4046511', error '0.0000000'
Test #76:
score: 0
Accepted
time: 344ms
memory: 75752kb
input:
2000 1991 80
output:
248800118.679306058533257
result:
ok found '248800118.6793061', expected '248800118.6793060', error '0.0000000'
Test #77:
score: 0
Accepted
time: 367ms
memory: 75692kb
input:
2000 1992 4802
output:
257156356.521679496931029
result:
ok found '257156356.5216795', expected '257156356.5216795', error '0.0000000'
Test #78:
score: 0
Accepted
time: 358ms
memory: 76004kb
input:
2000 1993 169
output:
197117968.448224813939305
result:
ok found '197117968.4482248', expected '197117968.4482248', error '0.0000000'
Test #79:
score: 0
Accepted
time: 345ms
memory: 75784kb
input:
2000 1994 6269
output:
109695555.808850097419054
result:
ok found '109695555.8088501', expected '109695555.8088501', error '0.0000000'
Test #80:
score: 0
Accepted
time: 349ms
memory: 75832kb
input:
2000 1995 3452
output:
179563229.396784273063531
result:
ok found '179563229.3967843', expected '179563229.3967843', error '0.0000000'
Test #81:
score: 0
Accepted
time: 430ms
memory: 76076kb
input:
2000 1996 2191
output:
84783513.645589572930476
result:
ok found '84783513.6455896', expected '84783513.6455896', error '0.0000000'
Test #82:
score: 0
Accepted
time: 356ms
memory: 75936kb
input:
2000 1997 7803
output:
53635859.339989974996570
result:
ok found '53635859.3399900', expected '53635859.3399900', error '0.0000000'
Test #83:
score: 0
Accepted
time: 429ms
memory: 76024kb
input:
2000 1998 8341
output:
33466185.814944227926389
result:
ok found '33466185.8149442', expected '33466185.8149442', error '0.0000000'
Test #84:
score: 0
Accepted
time: 361ms
memory: 76036kb
input:
2000 1999 6773
output:
2608075.465283261315562
result:
ok found '2608075.4652833', expected '2608075.4652833', error '0.0000000'
Test #85:
score: 0
Accepted
time: 72ms
memory: 5760kb
input:
2000 2 4496
output:
1484602254.131001193774864
result:
ok found '1484602254.1310012', expected '1484602254.1310012', error '0.0000000'
Test #86:
score: 0
Accepted
time: 378ms
memory: 76036kb
input:
2000 2000 5384
output:
0.000000000000000
result:
ok found '0.0000000', expected '0.0000000', error '-0.0000000'
Test #87:
score: 0
Accepted
time: 127ms
memory: 14472kb
input:
2000 250 1029
output:
1465117434.063100559404120
result:
ok found '1465117434.0631006', expected '1465117434.0631006', error '0.0000000'
Test #88:
score: 0
Accepted
time: 73ms
memory: 14340kb
input:
2000 256 5220
output:
1481878242.218473969958723
result:
ok found '1481878242.2184739', expected '1481878242.2184739', error '0.0000000'
Test #89:
score: 0
Accepted
time: 116ms
memory: 5820kb
input:
2000 3 8403
output:
1489320436.431853223009966
result:
ok found '1489320436.4318533', expected '1489320436.4318533', error '0.0000000'
Test #90:
score: 0
Accepted
time: 83ms
memory: 6864kb
input:
2000 31 6950
output:
1477330995.225131030078046
result:
ok found '1477330995.2251310', expected '1477330995.2251310', error '0.0000000'
Test #91:
score: 0
Accepted
time: 89ms
memory: 6852kb
input:
2000 32 3632
output:
1496222504.649006322259083
result:
ok found '1496222504.6490064', expected '1496222504.6490064', error '0.0000000'
Test #92:
score: 0
Accepted
time: 118ms
memory: 5808kb
input:
2000 4 2987
output:
1477889007.505459023639560
result:
ok found '1477889007.5054591', expected '1477889007.5054593', error '0.0000000'
Test #93:
score: 0
Accepted
time: 72ms
memory: 5808kb
input:
2000 5 2580
output:
1485468254.737495114328340
result:
ok found '1485468254.7374952', expected '1485468254.7374952', error '0.0000000'
Test #94:
score: 0
Accepted
time: 163ms
memory: 23268kb
input:
2000 500 6270
output:
1475788271.027598771732301
result:
ok found '1475788271.0275989', expected '1475788271.0275989', error '0.0000000'
Test #95:
score: 0
Accepted
time: 165ms
memory: 23812kb
input:
2000 512 1864
output:
1470340599.474985653185286
result:
ok found '1470340599.4749856', expected '1470340599.4749856', error '0.0000000'
Test #96:
score: 0
Accepted
time: 66ms
memory: 5696kb
input:
2000 6 8814
output:
1497075189.013496002880856
result:
ok found '1497075189.0134959', expected '1497075189.0134962', error '0.0000000'
Test #97:
score: 0
Accepted
time: 118ms
memory: 7900kb
input:
2000 62 4139
output:
1490927650.973211951786652
result:
ok found '1490927650.9732120', expected '1490927650.9732120', error '0.0000000'
Test #98:
score: 0
Accepted
time: 73ms
memory: 7960kb
input:
2000 64 7700
output:
1494910912.613783401204273
result:
ok found '1494910912.6137834', expected '1494910912.6137834', error '0.0000000'
Test #99:
score: 0
Accepted
time: 101ms
memory: 5916kb
input:
2000 7 8304
output:
1488325857.821989718242548
result:
ok found '1488325857.8219898', expected '1488325857.8219898', error '0.0000000'
Test #100:
score: 0
Accepted
time: 61ms
memory: 5776kb
input:
2000 8 7774
output:
1507136513.171559004927985
result:
ok found '1507136513.1715591', expected '1507136513.1715591', error '0.0000000'
Test #101:
score: 0
Accepted
time: 68ms
memory: 6068kb
input:
2000 9 2618
output:
1492019659.037316270754673
result:
ok found '1492019659.0373163', expected '1492019659.0373163', error '0.0000000'
Test #102:
score: 0
Accepted
time: 1ms
memory: 4268kb
input:
500 1 7674
output:
1463672939.781249850057065
result:
ok found '1463672939.7812498', expected '1463672939.7812500', error '0.0000000'
Test #103:
score: 0
Accepted
time: 14ms
memory: 5796kb
input:
500 125 1629
output:
1420736329.083827407564968
result:
ok found '1420736329.0838275', expected '1420736329.0838273', error '0.0000000'
Test #104:
score: 0
Accepted
time: 9ms
memory: 4500kb
input:
500 15 7376
output:
1465677415.506387916859239
result:
ok found '1465677415.5063879', expected '1465677415.5063879', error '0.0000000'
Test #105:
score: 0
Accepted
time: 16ms
memory: 7156kb
input:
500 250 5627
output:
1411074935.882357951370068
result:
ok found '1411074935.8823578', expected '1411074935.8823581', error '0.0000000'
Test #106:
score: 0
Accepted
time: 6ms
memory: 4296kb
input:
500 3 2245
output:
1437079231.540981166646816
result:
ok found '1437079231.5409811', expected '1437079231.5409811', error '0.0000000'
Test #107:
score: 0
Accepted
time: 8ms
memory: 4600kb
input:
500 31 8072
output:
1487957912.031461420236155
result:
ok found '1487957912.0314615', expected '1487957912.0314612', error '0.0000000'
Test #108:
score: 0
Accepted
time: 5ms
memory: 5116kb
input:
500 62 2415
output:
1454787477.649377375491895
result:
ok found '1454787477.6493773', expected '1454787477.6493773', error '0.0000000'
Test #109:
score: 0
Accepted
time: 4ms
memory: 4420kb
input:
500 7 1586
output:
1459900114.704660680028610
result:
ok found '1459900114.7046607', expected '1459900114.7046607', error '0.0000000'