Submission #1104482

# Submission time Handle Problem Language Result Execution time Memory
1104482 2024-10-23T22:51:01 Z crimson231 Scissors and Tape (CEOI19_scissors) C++17
100 / 100
8 ms 1100 KB
//NOT MY CODE :: from koosaga (boj)
#include <bits/stdc++.h>
using namespace std;
using lint = long long;
using llf = long double;
using pi = pair<int, int>;
using point = complex<llf>;
using polygon = vector<point>;
#define sz(v) ((int)(v).size())
#define all(v) (v).begin(), (v).end()
const int MAXN = 2005;
const llf eps = 1e-8L;
 
lint ccw(pi a, pi b, pi c){
	int dx1 = b.first - a.first;
	int dy1 = b.second - a.second;
	int dx2 = c.first - a.first;
	int dy2 = c.second - a.second;
	return 1ll * dx1 * dy2 - 1ll * dy1 * dx2;
}
lint ccwsgn(pi a, pi b, pi c){
	lint q = ccw(a, b, c);
	if(q != 0) return q > 0 ? 1 : -1;
	return 0;
}
 
bool insec(pi a, pi b, pi c, pi d){
	if(a == c || a == d || b == c || b == d) return 0;
	if(ccwsgn(a, b, c) * ccwsgn(a, b, d) > 0) return 0;
	if(ccwsgn(c, d, a) * ccwsgn(c, d, b) > 0) return 0;
	if(ccwsgn(a, b, c) == 0 && ccwsgn(a, b, d) == 0){
		if(a > b) swap(a, b);
		if(c > d) swap(c, d);
		if(a.second > b.second) swap(a.second, b.second);
		if(c.second > d.second) swap(c.second, d.second);
		return max(a.first, c.first) <= min(b.first, d.first) &&
		max(a.second, c.second) <= min(b.second, d.second);
	}
	return 1;
};
 
vector<vector<int>> triangulation(vector<pi> poly){
	int n = sz(poly);
	vector<int> vis(n);
	auto get_prv = [&](int x){
		int prv = (x + n - 1) % n;
		while(vis[prv]) prv = (prv + n - 1) % n;
		return prv;
	};
	auto get_nxt = [&](int x){
		int nxt = (x + 1) % n;
		while(vis[nxt]) nxt = (nxt + 1) % n;
		return nxt;
	};
	auto ear = [&](int cur){
		int prv = get_prv(cur);
		int nxt = get_nxt(cur);
		int nnxt = get_nxt(nxt);
		int pprv = get_prv(prv);
		if(nnxt == prv) return 1;
		if(ccw(poly[prv], poly[cur], poly[nxt]) <= 0) return 0;
		if(ccw(poly[nxt], poly[prv], poly[nnxt]) >= 0 && 
			ccw(poly[nxt], poly[nnxt], poly[cur]) >= 0) return 0;
		if(ccw(poly[prv], poly[pprv], poly[nxt]) >= 0 && 
			ccw(poly[prv], poly[cur], poly[pprv]) >= 0) return 0;
		for(int i = nxt; nnxt != prv; ){
			if(insec(poly[i], poly[nnxt], poly[prv], poly[nxt])){
				return 0;
			}
			i = nnxt;
			nnxt = get_nxt(nnxt);
		}
		return 1;
	};
	queue<int> que;
	vector<vector<int>> res;
	for(int i=0; i<n; i++){
		if(ear(i)) que.push(i);
	}
	for(int i=0; i<n-2; i++){
		while(vis[que.front()] || !ear(que.front())) que.pop();
		int x = que.front(); que.pop();
		int prv = get_prv(x);
		int nxt = get_nxt(x);
		res.push_back(vector<int>{prv, x, nxt});
		if(sz(res) == n - 2) break;
		vis[x] = 1;
		if(ear(prv)) que.push(prv);
		if(ear(nxt)) que.push(nxt);
	}
	return res;
}
 
struct answer{
	int direction;
	vector<int> src;
	int snk;
	answer(int direction, vector<int> src, int snk) : direction(direction), src(std::move(src)), snk(snk) {}
};
 
pair<vector<answer>, vector<polygon>> solve(){
	int n; cin >> n;
	vector<pi> pp(n);
	polygon P(n);
	for(int i = 0; i < n; i++){
		cin >> pp[i].first >> pp[i].second;
		P[i] = point(pp[i].first, pp[i].second);
	}
	vector<answer> ret;
	vector<polygon> steps = {P};
	auto EB = [&](int d, vector<int> v, int x){
		ret.emplace_back(d, v, x);
	};
	{
		auto trian = triangulation(pp);
		vector<int> src;
		for(auto &v : trian){
			polygon p;
			p.push_back(P[v[0]]);
			p.push_back(P[v[1]]);
			p.push_back(P[v[2]]);
			src.push_back(sz(steps));
			steps.push_back(p);
		}
		EB(1, src, 0);
	}
	auto ccw = [&](point a, point b, point c){
		return (conj(b - a) * (c - a)).imag();
	};
	auto intersection = [&](point z1, point z2, point z3, point z4){
		llf x = ccw(z1, z2, z3);
		llf y = ccw(z1, z2, z4);
		return z4 + y * ((z4 - z3) / (x - y));
	};
	vector<int> rects;
	llf area = 0;
	for(int i = sz(steps) - 1; i >= 1; i--){
		int fuck = 0;
		for(int j = 1; j < 3; j++){
			if(abs(steps[i][(j+1)%3] - steps[i][j]) > abs(steps[i][(fuck+1)%3] - steps[i][fuck])){
				fuck = j;
			}
		}
		point x = steps[i][fuck];
		point y = steps[i][(fuck+1)%3];
		point z = steps[i][(fuck+2)%3];
		point m1 = (x + z) * 0.5L;
		point m2 = (y + z) * 0.5L;
		point m3 = intersection(m1, m2, z, z + (m2 - m1) * point(0, 1));
		point m4 = m1 * 2.0L - m3;
		point m5 = m2 * 2.0L - m3;
		polygon p[6] = {
			{x, y, m2, m1},
			{m2, z, m3},
			{m1, m3, z},
			{m2, y, m5},
			{m1, m4, x},
			{x, y, m5, m4}};
		if(abs(p[5][1] - p[5][0]) > abs(p[5][2] - p[5][1])){
			rotate(p[5].begin(), p[5].begin() + 1, p[5].end());
		}
		int L = sz(steps);
		for(int j = 0; j < 6; j++){
			steps.push_back(p[j]);
		}
		EB(1, {L, L+1, L+2}, i);
		EB(0, {L+1}, L+3);
		EB(0, {L+2}, L+4);
		EB(0, {L, L+3, L+4}, L+5);
		area += abs(p[5][1] - p[5][0]) * abs(p[5][2] - p[5][1]);
		rects.push_back(L + 5);
	}
	llf R = sqrt(area) * 1.169;
	llf W = area / R;

	llf sum = 0;
	vector<int> total;
	for(auto i : rects){
		int idx = i;
		polygon p = steps[idx];
		while(abs(p[1] - p[0]) < R){
			point m1 = (p[0] + p[3]) * 0.5L;
			point m2 = (p[1] + p[2]) * 0.5L;
			point m3 = p[2] * 2.0L - p[3];
			point m4 = m2 * 2.0L - m1;
			polygon p1 = {p[0], p[1], m2, m1};
			polygon p2 = {m1, m2, p[2], p[3]};
			polygon p3 = {m2, m4, m3, p[2]};
			polygon p4 = {m1, m4, m3, p[3]};
			int L = sz(steps);
			steps.push_back(p1);
			steps.push_back(p2);
			steps.push_back(p3);
			steps.push_back(p4);
			EB(1, {L, L+1}, idx);
			EB(0, {L}, L+2);
			EB(0, {L+2, L+1}, L+3);
			p = p4;
			idx = L + 3;
		}
		if(abs(p[1] - p[0]) / R > 1 + 1e-14L){
			llf d = abs(p[1] - p[0]) / R;
			point q[5];
			q[0] = p[0] + (p[1] - p[0]) / d,
			q[1] = p[2] + (p[3] - p[2]) / d,
			q[2] = p[1] + (q[1] - p[1]) * (d - 1);
			q[3] = p[0] + (p[3] - p[0]) * d;
			q[4] = q[0] + (p[3] - p[0]) * d;
			polygon x[6];
			x[0] = {p[0], q[0], q[2], q[1], p[3]};
			x[1] = {q[0], p[1], q[2]};
			x[2] = {p[1], p[2], q[1]};
			x[3] = {p[3], q[1], q[3]}; // 1->3
			x[4] = {q[2], q[4], q[3]}; // 2->4
			x[5] = {p[0], q[0], q[4], q[3]}; // 034->5
			int L = sz(steps);
			for(int i = 0; i < 6; i++) steps.push_back(x[i]);
			EB(1, {L, L+1, L+2}, idx);
			EB(0, {L+1}, L+3);
			EB(0, {L+2}, L+4);
			EB(0, {L, L+3, L+4}, L+5);
			p = x[5];
			idx = L + 5;
		}
		llf cur = abs(p[2] - p[1]);
		polygon q = {point(0, sum), point(R, sum), point(R, sum + cur), point(0, sum + cur)};
		steps.push_back(q);
		EB(0, {idx}, sz(steps) - 1);
		total.push_back(sz(steps) - 1);
		sum += cur;
	}
	polygon ans = {point(0, 0), point(R, 0), point(R, sum), point(0, sum)};
	steps.push_back(ans);
	EB(0, total, sz(steps) - 1);
	return pair(ret, steps);
}
 
void print(polygon p){
	printf("%d", sz(p));
	for(auto i : p){
		printf(" %.20Lf %.20Lf", i.real(), i.imag());
	}
	puts("");
}
 
int main(){
	vector<answer> seq1, seq2;
	vector<polygon> step1, step2;
	tie(seq1, step1) = solve();
	tie(seq2, step2) = solve();
	for(auto &i : seq2){
		i.direction ^= 1;
		i.snk = sz(step1) + sz(step2) - i.snk - 2;
		for(auto &j : i.src){
			j = sz(step1) + sz(step2) - j - 2;
		}
		if(sz(i.src) == 1){
			i.direction ^= 1;
			swap(i.snk, i.src[0]);
		}
	}
	step2.pop_back();
	reverse(all(seq2));
	reverse(all(step2));
	for(auto &i : step2) step1.push_back(i);
	for(auto &i : seq2) seq1.push_back(i);
	vector<polygon> step(sz(step1));
	map<int, int> mp;
	auto mem = [&](int x){
		if(mp.find(x) != mp.end()) return mp[x];
		int w = sz(mp);
		mp[x] = w;
		step[w] = step1[x];
		return w;
	};
	for(auto &i : seq1){
		if(i.direction == 0){
			for(auto &j : i.src) j = mem(j);
			i.snk = mem(i.snk);
		}
		else{
			i.snk = mem(i.snk);
			for(auto &j : i.src) j = mem(j);
		}
	}
	for(auto &i : seq1){
		if(i.direction == 0){
			printf("tape\n");
			printf("%d", sz(i.src));
			for(auto &j : i.src) printf(" %d", j);
			printf("\n");
			if(sz(i.src) == 1){
				print(step[i.snk]);
				print(step[i.snk]);
				continue;
			}
			for(auto &j : i.src){
				print(step[j]);
			}
			print(step[i.snk]);
		}
		else{
			printf("scissors\n");
			printf("%d %d\n", i.snk, sz(i.src));
			for(auto &j : i.src){
				print(step[j]);
			}
		}
	}
}
 

Compilation message

scissors.cpp: In function 'std::pair<std::vector<answer>, std::vector<std::vector<std::complex<long double> > > > solve()':
scissors.cpp:174:6: warning: unused variable 'W' [-Wunused-variable]
  174 |  llf W = area / R;
      |      ^
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000020192694
2 Correct 2 ms 336 KB used 650 vertices, largest error was 0.00000040815375
3 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000018921913
4 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000026423525
5 Correct 2 ms 336 KB used 650 vertices, largest error was 0.00000040815375
6 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000063176918
7 Correct 2 ms 336 KB used 650 vertices, largest error was 0.00007922927572
8 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000029817124
9 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000029817124
10 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000026423525
# Verdict Execution time Memory Grader output
1 Correct 2 ms 336 KB used 650 vertices, largest error was 0.00000011295834
2 Correct 1 ms 336 KB used 706 vertices, largest error was 0.00000410400752
3 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000077508260
4 Correct 1 ms 336 KB used 594 vertices, largest error was 0.00000015990523
5 Correct 1 ms 336 KB used 594 vertices, largest error was 0.00000010476806
6 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000018267721
7 Correct 2 ms 336 KB used 594 vertices, largest error was 0.00000010353001
8 Correct 1 ms 336 KB used 594 vertices, largest error was 0.00000203777979
9 Correct 2 ms 336 KB used 594 vertices, largest error was 0.00000093972958
10 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000015693811
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000020192694
2 Correct 2 ms 336 KB used 650 vertices, largest error was 0.00000040815375
3 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000018921913
4 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000026423525
5 Correct 2 ms 336 KB used 650 vertices, largest error was 0.00000040815375
6 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000063176918
7 Correct 2 ms 336 KB used 650 vertices, largest error was 0.00007922927572
8 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000029817124
9 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000029817124
10 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000026423525
11 Correct 2 ms 336 KB used 650 vertices, largest error was 0.00000011295834
12 Correct 1 ms 336 KB used 706 vertices, largest error was 0.00000410400752
13 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000077508260
14 Correct 1 ms 336 KB used 594 vertices, largest error was 0.00000015990523
15 Correct 1 ms 336 KB used 594 vertices, largest error was 0.00000010476806
16 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000018267721
17 Correct 2 ms 336 KB used 594 vertices, largest error was 0.00000010353001
18 Correct 1 ms 336 KB used 594 vertices, largest error was 0.00000203777979
19 Correct 2 ms 336 KB used 594 vertices, largest error was 0.00000093972958
20 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000015693811
21 Correct 2 ms 336 KB used 706 vertices, largest error was 0.00000146117927
22 Correct 2 ms 336 KB used 650 vertices, largest error was 0.00000018938560
23 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000092462911
24 Correct 2 ms 336 KB used 706 vertices, largest error was 0.00000073602964
25 Correct 1 ms 336 KB used 594 vertices, largest error was 0.00000023779513
26 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000098541703
27 Correct 2 ms 336 KB used 594 vertices, largest error was 0.00000059328815
28 Correct 2 ms 348 KB used 594 vertices, largest error was 0.00000030865989
29 Correct 2 ms 336 KB used 762 vertices, largest error was 0.00000358252816
30 Correct 1 ms 336 KB used 706 vertices, largest error was 0.00000169496993
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB used 448 vertices, largest error was 0.00000010353001
2 Correct 1 ms 336 KB used 448 vertices, largest error was 0.00000010353001
3 Correct 1 ms 504 KB used 476 vertices, largest error was 0.00000010353001
4 Correct 1 ms 336 KB used 448 vertices, largest error was 0.00000006687500
5 Correct 1 ms 336 KB used 448 vertices, largest error was 0.00000010353001
6 Correct 1 ms 336 KB used 448 vertices, largest error was 0.00000010353001
7 Correct 1 ms 336 KB used 476 vertices, largest error was 0.00000037794700
8 Correct 1 ms 336 KB used 476 vertices, largest error was 0.00000010353001
9 Correct 1 ms 336 KB used 476 vertices, largest error was 0.00000009988395
10 Correct 1 ms 336 KB used 448 vertices, largest error was 0.00000010353001
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB used 303 vertices, largest error was 0.00000006861809
2 Correct 1 ms 336 KB used 303 vertices, largest error was 0.00000038440903
3 Correct 1 ms 504 KB used 331 vertices, largest error was 0.00001443045786
4 Correct 1 ms 336 KB used 331 vertices, largest error was 0.00000029813233
5 Correct 1 ms 336 KB used 359 vertices, largest error was 0.00000073950911
6 Correct 1 ms 336 KB used 303 vertices, largest error was 0.00000010601539
7 Correct 1 ms 336 KB used 359 vertices, largest error was 0.00000030705691
8 Correct 1 ms 336 KB used 359 vertices, largest error was 0.00000023256936
9 Correct 1 ms 508 KB used 303 vertices, largest error was 0.00000006494471
10 Correct 1 ms 336 KB used 303 vertices, largest error was 0.00000015429540
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000020192694
2 Correct 2 ms 336 KB used 650 vertices, largest error was 0.00000040815375
3 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000018921913
4 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000026423525
5 Correct 2 ms 336 KB used 650 vertices, largest error was 0.00000040815375
6 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000063176918
7 Correct 2 ms 336 KB used 650 vertices, largest error was 0.00007922927572
8 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000029817124
9 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000029817124
10 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000026423525
11 Correct 2 ms 336 KB used 650 vertices, largest error was 0.00000011295834
12 Correct 1 ms 336 KB used 706 vertices, largest error was 0.00000410400752
13 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000077508260
14 Correct 1 ms 336 KB used 594 vertices, largest error was 0.00000015990523
15 Correct 1 ms 336 KB used 594 vertices, largest error was 0.00000010476806
16 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000018267721
17 Correct 2 ms 336 KB used 594 vertices, largest error was 0.00000010353001
18 Correct 1 ms 336 KB used 594 vertices, largest error was 0.00000203777979
19 Correct 2 ms 336 KB used 594 vertices, largest error was 0.00000093972958
20 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000015693811
21 Correct 2 ms 336 KB used 706 vertices, largest error was 0.00000146117927
22 Correct 2 ms 336 KB used 650 vertices, largest error was 0.00000018938560
23 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000092462911
24 Correct 2 ms 336 KB used 706 vertices, largest error was 0.00000073602964
25 Correct 1 ms 336 KB used 594 vertices, largest error was 0.00000023779513
26 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000098541703
27 Correct 2 ms 336 KB used 594 vertices, largest error was 0.00000059328815
28 Correct 2 ms 348 KB used 594 vertices, largest error was 0.00000030865989
29 Correct 2 ms 336 KB used 762 vertices, largest error was 0.00000358252816
30 Correct 1 ms 336 KB used 706 vertices, largest error was 0.00000169496993
31 Correct 1 ms 336 KB used 448 vertices, largest error was 0.00000010353001
32 Correct 1 ms 336 KB used 448 vertices, largest error was 0.00000010353001
33 Correct 1 ms 504 KB used 476 vertices, largest error was 0.00000010353001
34 Correct 1 ms 336 KB used 448 vertices, largest error was 0.00000006687500
35 Correct 1 ms 336 KB used 448 vertices, largest error was 0.00000010353001
36 Correct 1 ms 336 KB used 448 vertices, largest error was 0.00000010353001
37 Correct 1 ms 336 KB used 476 vertices, largest error was 0.00000037794700
38 Correct 1 ms 336 KB used 476 vertices, largest error was 0.00000010353001
39 Correct 1 ms 336 KB used 476 vertices, largest error was 0.00000009988395
40 Correct 1 ms 336 KB used 448 vertices, largest error was 0.00000010353001
41 Correct 2 ms 592 KB used 1312 vertices, largest error was 0.00000263796129
42 Correct 2 ms 336 KB used 824 vertices, largest error was 0.00000020562343
43 Correct 3 ms 592 KB used 1716 vertices, largest error was 0.00000147338483
44 Correct 3 ms 604 KB used 1284 vertices, largest error was 0.00000103292026
45 Correct 2 ms 336 KB used 1026 vertices, largest error was 0.00000247125303
46 Correct 2 ms 336 KB used 852 vertices, largest error was 0.00000016190186
47 Correct 2 ms 336 KB used 852 vertices, largest error was 0.00000056566807
48 Correct 2 ms 336 KB used 796 vertices, largest error was 0.00000014527599
49 Correct 2 ms 336 KB used 768 vertices, largest error was 0.00001360196927
50 Correct 2 ms 592 KB used 1256 vertices, largest error was 0.00000180222582
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000020192694
2 Correct 2 ms 336 KB used 650 vertices, largest error was 0.00000040815375
3 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000018921913
4 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000026423525
5 Correct 2 ms 336 KB used 650 vertices, largest error was 0.00000040815375
6 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000063176918
7 Correct 2 ms 336 KB used 650 vertices, largest error was 0.00007922927572
8 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000029817124
9 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000029817124
10 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000026423525
11 Correct 2 ms 336 KB used 650 vertices, largest error was 0.00000011295834
12 Correct 1 ms 336 KB used 706 vertices, largest error was 0.00000410400752
13 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000077508260
14 Correct 1 ms 336 KB used 594 vertices, largest error was 0.00000015990523
15 Correct 1 ms 336 KB used 594 vertices, largest error was 0.00000010476806
16 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000018267721
17 Correct 2 ms 336 KB used 594 vertices, largest error was 0.00000010353001
18 Correct 1 ms 336 KB used 594 vertices, largest error was 0.00000203777979
19 Correct 2 ms 336 KB used 594 vertices, largest error was 0.00000093972958
20 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000015693811
21 Correct 2 ms 336 KB used 706 vertices, largest error was 0.00000146117927
22 Correct 2 ms 336 KB used 650 vertices, largest error was 0.00000018938560
23 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000092462911
24 Correct 2 ms 336 KB used 706 vertices, largest error was 0.00000073602964
25 Correct 1 ms 336 KB used 594 vertices, largest error was 0.00000023779513
26 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000098541703
27 Correct 2 ms 336 KB used 594 vertices, largest error was 0.00000059328815
28 Correct 2 ms 348 KB used 594 vertices, largest error was 0.00000030865989
29 Correct 2 ms 336 KB used 762 vertices, largest error was 0.00000358252816
30 Correct 1 ms 336 KB used 706 vertices, largest error was 0.00000169496993
31 Correct 1 ms 336 KB used 448 vertices, largest error was 0.00000010353001
32 Correct 1 ms 336 KB used 448 vertices, largest error was 0.00000010353001
33 Correct 1 ms 504 KB used 476 vertices, largest error was 0.00000010353001
34 Correct 1 ms 336 KB used 448 vertices, largest error was 0.00000006687500
35 Correct 1 ms 336 KB used 448 vertices, largest error was 0.00000010353001
36 Correct 1 ms 336 KB used 448 vertices, largest error was 0.00000010353001
37 Correct 1 ms 336 KB used 476 vertices, largest error was 0.00000037794700
38 Correct 1 ms 336 KB used 476 vertices, largest error was 0.00000010353001
39 Correct 1 ms 336 KB used 476 vertices, largest error was 0.00000009988395
40 Correct 1 ms 336 KB used 448 vertices, largest error was 0.00000010353001
41 Correct 2 ms 592 KB used 1312 vertices, largest error was 0.00000263796129
42 Correct 2 ms 336 KB used 824 vertices, largest error was 0.00000020562343
43 Correct 3 ms 592 KB used 1716 vertices, largest error was 0.00000147338483
44 Correct 3 ms 604 KB used 1284 vertices, largest error was 0.00000103292026
45 Correct 2 ms 336 KB used 1026 vertices, largest error was 0.00000247125303
46 Correct 2 ms 336 KB used 852 vertices, largest error was 0.00000016190186
47 Correct 2 ms 336 KB used 852 vertices, largest error was 0.00000056566807
48 Correct 2 ms 336 KB used 796 vertices, largest error was 0.00000014527599
49 Correct 2 ms 336 KB used 768 vertices, largest error was 0.00001360196927
50 Correct 2 ms 592 KB used 1256 vertices, largest error was 0.00000180222582
51 Correct 3 ms 592 KB used 1946 vertices, largest error was 0.00000089793027
52 Correct 3 ms 592 KB used 1884 vertices, largest error was 0.00000247338368
53 Correct 2 ms 592 KB used 1396 vertices, largest error was 0.00000037869905
54 Correct 2 ms 592 KB used 1452 vertices, largest error was 0.00000578783772
55 Correct 2 ms 592 KB used 1542 vertices, largest error was 0.00000107010184
56 Correct 4 ms 592 KB used 2086 vertices, largest error was 0.00000482092363
57 Correct 3 ms 628 KB used 1800 vertices, largest error was 0.00011962803169
58 Correct 3 ms 764 KB used 2030 vertices, largest error was 0.00000204482236
59 Correct 3 ms 592 KB used 1654 vertices, largest error was 0.00000610289905
60 Correct 3 ms 592 KB used 1828 vertices, largest error was 0.00012581030923
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000020192694
2 Correct 2 ms 336 KB used 650 vertices, largest error was 0.00000040815375
3 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000018921913
4 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000026423525
5 Correct 2 ms 336 KB used 650 vertices, largest error was 0.00000040815375
6 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000063176918
7 Correct 2 ms 336 KB used 650 vertices, largest error was 0.00007922927572
8 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000029817124
9 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000029817124
10 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000026423525
11 Correct 2 ms 336 KB used 650 vertices, largest error was 0.00000011295834
12 Correct 1 ms 336 KB used 706 vertices, largest error was 0.00000410400752
13 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000077508260
14 Correct 1 ms 336 KB used 594 vertices, largest error was 0.00000015990523
15 Correct 1 ms 336 KB used 594 vertices, largest error was 0.00000010476806
16 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000018267721
17 Correct 2 ms 336 KB used 594 vertices, largest error was 0.00000010353001
18 Correct 1 ms 336 KB used 594 vertices, largest error was 0.00000203777979
19 Correct 2 ms 336 KB used 594 vertices, largest error was 0.00000093972958
20 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000015693811
21 Correct 2 ms 336 KB used 706 vertices, largest error was 0.00000146117927
22 Correct 2 ms 336 KB used 650 vertices, largest error was 0.00000018938560
23 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000092462911
24 Correct 2 ms 336 KB used 706 vertices, largest error was 0.00000073602964
25 Correct 1 ms 336 KB used 594 vertices, largest error was 0.00000023779513
26 Correct 1 ms 336 KB used 650 vertices, largest error was 0.00000098541703
27 Correct 2 ms 336 KB used 594 vertices, largest error was 0.00000059328815
28 Correct 2 ms 348 KB used 594 vertices, largest error was 0.00000030865989
29 Correct 2 ms 336 KB used 762 vertices, largest error was 0.00000358252816
30 Correct 1 ms 336 KB used 706 vertices, largest error was 0.00000169496993
31 Correct 1 ms 336 KB used 448 vertices, largest error was 0.00000010353001
32 Correct 1 ms 336 KB used 448 vertices, largest error was 0.00000010353001
33 Correct 1 ms 504 KB used 476 vertices, largest error was 0.00000010353001
34 Correct 1 ms 336 KB used 448 vertices, largest error was 0.00000006687500
35 Correct 1 ms 336 KB used 448 vertices, largest error was 0.00000010353001
36 Correct 1 ms 336 KB used 448 vertices, largest error was 0.00000010353001
37 Correct 1 ms 336 KB used 476 vertices, largest error was 0.00000037794700
38 Correct 1 ms 336 KB used 476 vertices, largest error was 0.00000010353001
39 Correct 1 ms 336 KB used 476 vertices, largest error was 0.00000009988395
40 Correct 1 ms 336 KB used 448 vertices, largest error was 0.00000010353001
41 Correct 1 ms 336 KB used 303 vertices, largest error was 0.00000006861809
42 Correct 1 ms 336 KB used 303 vertices, largest error was 0.00000038440903
43 Correct 1 ms 504 KB used 331 vertices, largest error was 0.00001443045786
44 Correct 1 ms 336 KB used 331 vertices, largest error was 0.00000029813233
45 Correct 1 ms 336 KB used 359 vertices, largest error was 0.00000073950911
46 Correct 1 ms 336 KB used 303 vertices, largest error was 0.00000010601539
47 Correct 1 ms 336 KB used 359 vertices, largest error was 0.00000030705691
48 Correct 1 ms 336 KB used 359 vertices, largest error was 0.00000023256936
49 Correct 1 ms 508 KB used 303 vertices, largest error was 0.00000006494471
50 Correct 1 ms 336 KB used 303 vertices, largest error was 0.00000015429540
51 Correct 2 ms 592 KB used 1312 vertices, largest error was 0.00000263796129
52 Correct 2 ms 336 KB used 824 vertices, largest error was 0.00000020562343
53 Correct 3 ms 592 KB used 1716 vertices, largest error was 0.00000147338483
54 Correct 3 ms 604 KB used 1284 vertices, largest error was 0.00000103292026
55 Correct 2 ms 336 KB used 1026 vertices, largest error was 0.00000247125303
56 Correct 2 ms 336 KB used 852 vertices, largest error was 0.00000016190186
57 Correct 2 ms 336 KB used 852 vertices, largest error was 0.00000056566807
58 Correct 2 ms 336 KB used 796 vertices, largest error was 0.00000014527599
59 Correct 2 ms 336 KB used 768 vertices, largest error was 0.00001360196927
60 Correct 2 ms 592 KB used 1256 vertices, largest error was 0.00000180222582
61 Correct 3 ms 592 KB used 1946 vertices, largest error was 0.00000089793027
62 Correct 3 ms 592 KB used 1884 vertices, largest error was 0.00000247338368
63 Correct 2 ms 592 KB used 1396 vertices, largest error was 0.00000037869905
64 Correct 2 ms 592 KB used 1452 vertices, largest error was 0.00000578783772
65 Correct 2 ms 592 KB used 1542 vertices, largest error was 0.00000107010184
66 Correct 4 ms 592 KB used 2086 vertices, largest error was 0.00000482092363
67 Correct 3 ms 628 KB used 1800 vertices, largest error was 0.00011962803169
68 Correct 3 ms 764 KB used 2030 vertices, largest error was 0.00000204482236
69 Correct 3 ms 592 KB used 1654 vertices, largest error was 0.00000610289905
70 Correct 3 ms 592 KB used 1828 vertices, largest error was 0.00012581030923
71 Correct 5 ms 848 KB used 3214 vertices, largest error was 0.00000371998417
72 Correct 4 ms 592 KB used 2692 vertices, largest error was 0.00002876567496
73 Correct 5 ms 1100 KB used 3354 vertices, largest error was 0.00010665567380
74 Correct 4 ms 592 KB used 2636 vertices, largest error was 0.00000258061819
75 Correct 8 ms 592 KB used 2754 vertices, largest error was 0.00000062150151
76 Correct 5 ms 756 KB used 2950 vertices, largest error was 0.00000430994307
77 Correct 4 ms 592 KB used 2636 vertices, largest error was 0.00000382555895
78 Correct 5 ms 848 KB used 3242 vertices, largest error was 0.00002491631134
79 Correct 7 ms 848 KB used 3382 vertices, largest error was 0.00000606153976