Помогите, пожалуйста, найти ошибку в коде(неверный ответ на 1 из тестов codeforces)

https://codeforces.com/group/xogLHTsCuS/contest/264828/problem/D (задача из закрытой группы по обучению с++, перейти по ссылке не получится)

Вам на уроке поставили задачу: найти расстояние между прямой и точкой. Но в задаче очень много пунктов, поэтому вам нужно написать программу, чтобы не повторять одни и те же действия.

Входные данные В первой строке указаны X координаты двух точек прямой, разделенные пробелом X1, X2 (|X1|,|X2|≤10**18)

Во второй строке указаны Y координаты двух точек прямой, разделенные пробелом Y1, Y2 (|Y1|,|Y2|≤10**18)

В третьей строке указаны координаты точки X3, Y3 (|X3|,|Y3|≤10**18, разделенные пробелом.

Все координаты точек - целые числа.

Выходные данные Вывести расстояние с точностью 3 знака после точки.

1 тест(работает): -7 -1 -1 7 -10 6

6.600

в примечании была ссылка Wikipedia (формулу брал оттуда)

#include <iostream> 
#include <cmath> 
using namespace std;


int main()
{
    long long int x1, x2, y1, y2, x3, y3;
    long double ans;
    // координаты х двух точек на прямой
    cin >> x1 >> x2;
    // координаты y двух точек на прямой
    cin >> y1 >> y2;
    // координаты точки
    cin >> x3 >> y3;

    ans = (double) abs((y2 - y1) * x3 - (x2 - x1) * y3 + x2 * y1 - y2 * x1) / sqrt((y2 - y1) * (y2 - y1) + (x2 - x1) * (x2 - x1));

    printf("%.3Lf", ans);

    return 0;
}```

Ответы (0 шт):