QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#90904#5667. Meeting PlacesHe_RenAC ✓430ms76076kbC++239.4kb2023-03-26 02:31:322023-03-26 02:31:47

Judging History

你现在查看的是最新测评结果

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-03-26 02:31:47]
  • 评测
  • 测评结果:AC
  • 用时:430ms
  • 内存:76076kb
  • [2023-03-26 02:31:32]
  • 提交

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'