Submission #454600
Source Code Expand
#include <bits/stdc++.h>
typedef long long ll;
typedef unsigned long long ull;
#define FOR(i,a,b) for(int (i)=(a);i<(b);i++)
#define REP(i,n) FOR(i,0,n)
#define RANGE(vec) (vec).begin(),(vec).end()
using namespace std;
template<typename T>
struct Pt {
T x, y;
Pt(T x0, T y0) : x(x0), y(y0) {}
Pt() :x(0),y(0) {}
const Pt operator-(const Pt &other) const { return Pt(other.x-x, other.y-y); }
double norm(void) const { return hypot(x, y); }
// class method
static double cross(const Pt &a, const Pt &b) { return ((double)a.y*b.x - (double)a.x*b.y); }
};
class B {
public:
void solve(void) {
int x,y;
cin>>x>>y;
int N;
cin>>N;
vector<Pt<double>> points;
double ans=(1<<30);
REP(i,N)
{
int x0,y0;
cin>>x0>>y0;
points.emplace_back(x0,y0);
ans = min(ans, hypot(x-x0,y-y0));
}
REP(i,N)
{
double dist = (points[i]-points[(i+1)%N]).norm();
double area = abs(Pt<double>::cross(points[(i+1)%N]-points[i], Pt<double>(x,y)-points[i]));
ans = min(ans, area/dist);
}
cout<<setprecision(20)<<ans<<endl;
}
};
#if 1
int main(int argc, char *argv[])
{
ios::sync_with_stdio(false);
auto obj = new B();
obj->solve();
delete obj;
return 0;
}
#endif
Submission Info
| Submission Time | |
|---|---|
| Task | B - アリの高橋くん |
| User | shifth |
| Language | C++11 (GCC 4.9.2) |
| Score | 100 |
| Code Size | 1537 Byte |
| Status | AC |
| Exec Time | 28 ms |
| Memory | 932 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 100 / 100 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_01.txt, sample_02.txt, sample_03.txt |
| All | sample_01.txt, sample_02.txt, sample_03.txt, subtask1_00.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| sample_01.txt | AC | 25 ms | 928 KiB |
| sample_02.txt | AC | 24 ms | 932 KiB |
| sample_03.txt | AC | 24 ms | 800 KiB |
| subtask1_00.txt | AC | 25 ms | 924 KiB |
| subtask1_01.txt | AC | 24 ms | 924 KiB |
| subtask1_02.txt | AC | 24 ms | 800 KiB |
| subtask1_03.txt | AC | 23 ms | 928 KiB |
| subtask1_04.txt | AC | 24 ms | 928 KiB |
| subtask1_05.txt | AC | 23 ms | 844 KiB |
| subtask1_06.txt | AC | 24 ms | 928 KiB |
| subtask1_07.txt | AC | 25 ms | 928 KiB |
| subtask1_08.txt | AC | 28 ms | 928 KiB |
| subtask1_09.txt | AC | 23 ms | 924 KiB |
| subtask1_10.txt | AC | 24 ms | 924 KiB |
| subtask1_11.txt | AC | 25 ms | 808 KiB |
| subtask1_12.txt | AC | 24 ms | 924 KiB |
| subtask1_13.txt | AC | 25 ms | 924 KiB |
| subtask1_14.txt | AC | 25 ms | 796 KiB |
| subtask1_15.txt | AC | 25 ms | 924 KiB |
| subtask1_16.txt | AC | 24 ms | 800 KiB |
| subtask1_17.txt | AC | 28 ms | 796 KiB |
| subtask1_18.txt | AC | 24 ms | 808 KiB |
| subtask1_19.txt | AC | 24 ms | 800 KiB |
| subtask1_20.txt | AC | 23 ms | 924 KiB |
| subtask1_21.txt | AC | 24 ms | 924 KiB |
| subtask1_22.txt | AC | 23 ms | 928 KiB |
| subtask1_23.txt | AC | 24 ms | 924 KiB |
| subtask1_24.txt | AC | 24 ms | 804 KiB |
| subtask1_25.txt | AC | 24 ms | 804 KiB |
| subtask1_26.txt | AC | 24 ms | 924 KiB |
| subtask1_27.txt | AC | 25 ms | 924 KiB |
| subtask1_28.txt | AC | 24 ms | 928 KiB |
| subtask1_29.txt | AC | 22 ms | 928 KiB |