Submission #1630637
Source Code Expand
#include <bits/stdc++.h> #define REP(i, a, n) for(ll i = ((ll) a); i < ((ll) n); i++) using namespace std; typedef long long ll; typedef pair<double, ll> pdl; struct point { double x, y; }; struct line { point p, q; }; ll N, K; double distance(line l, point p) { double ux = l.q.x - l.p.x; double uy = l.q.y - l.p.y; double vx = p.x - l.p.x; double vy = p.y - l.p.y; double cross = abs(ux * vy - uy * vx); double ul = sqrt(ux * ux + uy * uy); return cross / ul; } int main(void) { cin >> N >> K; vector<pdl> triangles; for(ll i = 1; i * 3 <= N; i++) { for(ll j = i * 2; j <= (i + N) / 2; j++) { double theta = 2 * M_PI / N; point p1 = (point) { 1, 0 }; point p2 = (point) { cos(theta * i), sin(theta * i) }; point p3 = (point) { cos(theta * j), sin(theta * j) }; double a = sqrt(pow(p2.x - p1.x, 2) + pow(p2.y - p1.y, 2)); double h = distance((line) { p1, p2 }, p3); double s = a * h / 2; ll cnt, e1 = i, e2 = j - i, e3 = N - j; if(e1 == e2 && e2 == e3) cnt = i; else if(e1 == e2 || e2 == e3 || e3 == e1) cnt = N; else cnt = N * 2; triangles.push_back(pdl(s, cnt)); } } sort(triangles.begin(), triangles.end()); ll sum = 0; REP(i, 0, triangles.size()) { sum += triangles[i].second; if(sum >= K) { printf("%.15lf\n", triangles[i].first); return 0; } } }
Submission Info
Submission Time | |
---|---|
Task | E - Circle and Many Triangles |
User | kshinya |
Language | C++14 (GCC 5.4.1) |
Score | 400 |
Code Size | 1447 Byte |
Status | TLE |
Exec Time | 2104 ms |
Memory | 526292 KB |
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | Subtask3 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 160 / 160 | 240 / 240 | 0 / 450 | ||||||||||
Status |
|
|
|
|
Set Name | Test Cases |
---|---|
Sample | sample_1.txt, sample_2.txt, sample_3.txt |
Subtask1 | sample_1.txt, sample_2.txt, sample_3.txt, sub1_in1.txt, sub1_in2.txt, sub1_in3.txt, sub1_in4.txt, sub1_in5.txt, sub1_in6.txt |
Subtask2 | sample_1.txt, sample_2.txt, sample_3.txt, sub1_in1.txt, sub1_in2.txt, sub1_in3.txt, sub1_in4.txt, sub1_in5.txt, sub1_in6.txt, sub2_in1.txt, sub2_in2.txt, sub2_in3.txt, sub2_in4.txt, sub2_in5.txt, sub2_in6.txt |
Subtask3 | sample_1.txt, sample_2.txt, sample_3.txt, sub1_in1.txt, sub1_in2.txt, sub1_in3.txt, sub1_in4.txt, sub1_in5.txt, sub1_in6.txt, sub2_in1.txt, sub2_in2.txt, sub2_in3.txt, sub2_in4.txt, sub2_in5.txt, sub2_in6.txt, sub3_in1.txt, sub3_in2.txt, sub3_in3.txt, sub3_in4.txt, sub3_in5.txt, sub3_in6.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_1.txt | AC | 5 ms | 512 KB |
sample_2.txt | AC | 1 ms | 256 KB |
sample_3.txt | AC | 1 ms | 256 KB |
sub1_in1.txt | AC | 1 ms | 256 KB |
sub1_in2.txt | AC | 1 ms | 256 KB |
sub1_in3.txt | AC | 1 ms | 256 KB |
sub1_in4.txt | AC | 1 ms | 256 KB |
sub1_in5.txt | AC | 1 ms | 256 KB |
sub1_in6.txt | AC | 1 ms | 256 KB |
sub2_in1.txt | AC | 4 ms | 640 KB |
sub2_in2.txt | AC | 4 ms | 640 KB |
sub2_in3.txt | AC | 4 ms | 640 KB |
sub2_in4.txt | AC | 16 ms | 2420 KB |
sub2_in5.txt | AC | 16 ms | 2420 KB |
sub2_in6.txt | AC | 16 ms | 2420 KB |
sub3_in1.txt | AC | 1581 ms | 132316 KB |
sub3_in2.txt | AC | 1602 ms | 131932 KB |
sub3_in3.txt | AC | 1594 ms | 131804 KB |
sub3_in4.txt | TLE | 2104 ms | 525140 KB |
sub3_in5.txt | TLE | 2104 ms | 526292 KB |
sub3_in6.txt | TLE | 2104 ms | 526164 KB |