8. Обобщённый AUC

Не решаласьСредняя

Классический ROC-AUC равен

где ti,tjt_i, t_j — правильные ответы (бинарные) для объектов ii и jj, N0,N1N_0, N_1 - количества 0 и 1 среди правильных ответов соответственно, а yi,yjy_i, y_j — предсказания модели для объектов ii и jj. Рассмотрим обобщённый AUC, который определён не только для бинарных ответов:

Даны массив правильных ответов и массив предсказаний модели.

Необходимо посчитать обобщённый AUC.

Формат ввода

В первой строке указано одно число NN — число объектов в выборке (2N1000002 \leqslant N \leqslant 100000).

В каждой из следующих NN строк через пробел указаны два вещественных числа tit_i и yiy_i (0ti,yi10)0 \le t_i, y_i \le 10) (с точностью не более 6 цифр после десятичной точки): правильный ответ примера и предсказание модели для этого примера.

Гарантируется, что существуют два таких номера ii и jj, что titjt_i \ne t_j.

Формат вывода

Выведите одно число (значение обобщённого AUC) с точностью как минимум 6 значащих цифр после десятичной точки.

Примечание

Гарантируется, что все закрытые тесты соответствуют одному из трех наборов ограничений:

1)

  • n10n \le 10;
  • 0ti,yi100 \le t_i, y_i \le 10;
  • ti,yit_i, y_i целые числа;

2)

  • n=1000n = 1000;
  • 0ti,yi100 \le t_i, y_i \le 10;
  • ti,yit_i, y_i целые числа;

3)

  • n=105n = 10^5;
  • 0ti,yi10 \le t_i, y_i \le 1;
  • ti,yit_i, y_i: вещественные числа, не более 6 знаков после запятой.
  • гарантируется, что все tit_i, yiy_i сгенерированы случайно с равномерным распределением в отрезке [0;1][0; 1].

Ограничения

Ограничение времени

1 с

Ограничение памяти

512 МБ

Пример 1

Ввод
2
0 0
1 1
Вывод
1.000000

Пример 2

Ввод
2
0 1
1 0
Вывод
0.000000

Пример 3

Ввод
3
0.5 0
0.5 1
2 0.5
Вывод
0.500000

Пример 4

Ввод
7
0 0
0 1
1 2
0 3
1 4
1 5
1 6
Вывод
0.916667

Пример 5

Ввод
10
0 4
3 0
1 2
2 4
1 0
2 1
4 1
2 1
4 4
0 0
Вывод
0.538462

Пример 6

Ввод
10
3 4
3 4
2 1
3 2
4 1
0 2
2 0
1 2
4 4
3 3
Вывод
0.648649

Теги

Нужно войти, чтобы отправить решение.Войти