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
AC × 3
AC × 33
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