2024, група A, 10-12 клас
40
C.
ЛЪЖЕРА
257
Условие
CODE@BURGAS 2024, ГРУПА A, ЗАДАЧА C. ЛЪЖЕРА
---
Пешо Пингвина е отново тук и този път е собственик на фирма за "магическа сигурност".
Напоследък в гр. Порос, където е седалището на компанията, се забелязват повишени нива на много опасно магическо заболяване наречено "лъжера". Заразени с него, хората започват да говорят само и единствено лъжи. Няма противодействие на това опасно заболяване.
Компанията за "магическа сигурност" на Пешо е наета да предпази Порос от опасното заболяване, но за тази цел трябва да разработи магическа система за реакции срещу заболяването. За създаването на системата властите в Порос предоставят на Пешо координатна карта на града с жилищните, административни и бизнес центровете в него. В допълнение в рамките на целия град са разположени специални “лъже-уловители”, които да разбират кога и къде има огнище на болестта и някой започва да лъже.
Огнищата са категоризирани в пет степени:
1) Ниво 1 - има опасност от заразяване на обект от ниво 1 (обикновени граждани)
2) Ниво 2 - има опасност от заразяване на обект от ниво 2 (частни фирми, граждански сдружения, фондации и т.н)
3) Ниво 3 - има опасност от заразяване на обект от ниво 3 (училища, детски градини и университети)
4) Ниво 4 - има опасност от заразяване на обект от ниво 4 (стадиони, болници, поликлиники и т.н)
5) Ниво 5 - има опасност от заразяване на обект от ниво 5 (държавни институции, политически партии, направителствени организации и т.н)
Във всеки един момент "лъже-уловителите" могат да засекат степента на опасност на заразяване и да изпратят координатите на огнището до системата разработваната от компанията на Пешо.
За да могат властите да реагират на огнището, системата за реакции трябва да намери най-близките K обекти със същото ниво на опасност на огнището и да събере разстоянията на квадрат до тях. За да оценят опасността за периода на анализ, властите се интересуват от сумата на тези суми.
Към всяка заявка насочена към системата се прилага броя K на търсените най-близки обекти.
Вашата задача е да помогнете на Пешо да разработи системата като напишете програма, която да отговаря на описаните заявки.
Ограничения:
200 <= N <= 50000 - броят на обектите с интерес от властите
200 <= Q <= 500000 - броят на огнищата (заявките на властите)
-1.0 <= X[i] <= 1.0 - всяка X координата на обектите или огнищата (заявките)
-1.0 <= Y[i] <= 1.0 - всяка Y координата на обектите или огнищата (заявките)
1 <= L[i] <= 5 - всяко ниво на опасност от зараза от "лъжера"
1 <= K[i] <= 10 - броят на най-близките обекти, които са в опасност за всяко огнище (заявка)
Примерен вход:
5 9
0.151876 0.857360 4
0.151876 -0.857360 5
0.471819 0.731792 1
0.471819 -0.731792 2
0.363156 0.791360 3
0.601811 0.519220 2 1
0.601811 -0.200673 1 1
0.075336 0.204355 4 1
0.075336 -0.741558 5 1
0.439969 0.092992 4 1
0.439969 -0.419031 3 1
-0.192510 0.679204 5 1
-0.192510 -0.429043 4 1
0.669920 0.212040 3 1
Примерен изход:
9.7408
Обяснение:
На първия ред на стандартния вход се подават две числа N и Q.
Следват N реда от вида X[i], Y[i], L[i], които описват застрашените от заразата обекти.
Следват Q реда от вида X[i], Y[i], L[i], K[i], които описват заявките направени от властите.
На стандартния изход трябва да изпринтирате едно число с плаваща запетая - сумата от сумите на разстоянията на квадрат между обектите и огнищата от заявките на властите. Точността на числото трябва да е 4 знака след десетичната запетая.
Разстоянието на квадрат е стандартното евклидово разстояние вдигнато на втора степен.