Submission #69878820


Source Code Expand

#include<bits/stdc++.h>
typedef long long ll;
using namespace std;

struct P
{
    double x;
    double y;
};

P TS, TG, AS, AG;
double Td, Ad;

double dist(P z1, P z2){
    return sqrt((z1.x - z2.x) * (z1.x - z2.x) + (z1.y - z2.y) * (z1.y - z2.y));
}


P T(double t){
    t = min(t, Td);
    P ret;
    ret.x = t / Td * (TG.x - TS.x) + TS.x;
    ret.y = t / Td * (TG.y - TS.y) + TS.y;

    return ret;
}

P A(double t){
    t = min(t, Ad);
    P ret;
    ret.x = t / Ad * (AG.x - AS.x) + AS.x;
    ret.y = t / Ad * (AG.y - AS.y) + AS.y;

    return ret;
}

double f(double t){
    return dist(T(t), A(t));
}

int main(){
    int t;
    cin >> t;
    while(t--){
        
        cin >> TS.x >> TS.y;
        cin >> TG.x >> TG.y;
        cin >> AS.x >> AS.y;
        cin >> AG.x >> AG.y;

        Td = dist(TS, TG);
        Ad = dist(AS, AG);

        double l = 0.0;
        double r = max(Td, Ad);
        
        while(abs(l - r) > 1e-10){
            // cout << l << " " << r << endl;
            double c1 = (l*2 + r) / 3;
            double c2 = (l + r*2) / 3;

            if(f(c1) < f(c2)){
                r = c2;
            }else{
                l = c1;
            }
        }
        cout << setprecision(15) << f(l) << endl;
    }
}

Submission Info

Submission Time
Task E - Closest Moment
User sakimori_coder
Language C++ 20 (gcc 12.2)
Score 0
Code Size 1317 Byte
Status WA
Exec Time 1026 ms
Memory 3812 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 450
Status
AC × 1
AC × 1
WA × 10
Set Name Test Cases
Sample 00_sample_00.txt
All 00_sample_00.txt, 01_small_00.txt, 01_small_01.txt, 01_small_02.txt, 02_large_00.txt, 02_large_01.txt, 02_large_02.txt, 02_large_03.txt, 02_large_04.txt, 02_large_05.txt, 02_large_06.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 3812 KiB
01_small_00.txt WA 857 ms 3764 KiB
01_small_01.txt WA 683 ms 3752 KiB
01_small_02.txt WA 862 ms 3708 KiB
02_large_00.txt WA 1005 ms 3772 KiB
02_large_01.txt WA 999 ms 3720 KiB
02_large_02.txt WA 997 ms 3804 KiB
02_large_03.txt WA 997 ms 3768 KiB
02_large_04.txt WA 1025 ms 3764 KiB
02_large_05.txt WA 1026 ms 3808 KiB
02_large_06.txt WA 27 ms 3792 KiB