Ճիշտ համընկնում, սանդղակից դուրս

Ձեր KNN ալգորիթմը մարդկանց համեմատում է երկու հատկանիշով՝ ոտքի երկարությամբ (սանտիմետրերով) և բյուջեով (դոլարներով)։ Երբեմն գնի սենսորը հաղորդում է բյուջեի այնպիսի արժեքներ, որոնք նախկինում չեն հանդիպել ձեր ունեցած տվյալներում։ Դոլարի արժեքները կարող են անհամաչափ մեծ լինել սանտիմետրերի համեմատ, և KNN-ը չի կարողանա արդարացի գնահատում կատարել, եթե երկու հատկանիշներն էլ մասշտաբավորված չլինեն։ Դուք որոշում եք կիրառել մասշտաբավորում՝ օգտագործելով նախնական տվյալների հիման վրա հաշվարկված min-max մեթոդը։ Այնուհետև կիրառում եք այդ նույն մասշտաբավորումը նոր տվյալների վրա, նույնիսկ եթե դրանք դուրս են գալիս հայտնի միջակայքից։

Պահանջվում է կարդալ նախնական տվյալները, այնուհետև մասշտաբավորել նոր տվյալները։ Հաշվեք յուրաքանչյուր սյունակի համար մինիմում և մաքսիմում արժեքները՝ օգտագործելով միայն նախնական տվյալները, այնուհետև ձևափոխեք յուրաքանչյուր նոր տող՝ օգտագործելով (v - min) / (max - min) բանաձևը։ Արժեքները կարող են լինել 0-ից փոքր կամ 1-ից մեծ. դրանք կլորացնել կամ սահմանափակել պետք չէ։ Եթե նախնական տվյալների որևէ սյունակում բոլոր արժեքները նույնն են, ապա դրա մասշտաբավորված արժեքը ցանկացած նոր տվյալի համար պետք է լինի 0։

Մուտքի առաջին տողում տրված է n ամբողջ թիվը, որը ցույց է տալիս նախնական տվյալների տողերի քանակը։ Հաջորդ n տողերից յուրաքանչյուրը պարունակում է երկու իրական թիվ՝ ոտքի երկարությունը սանտիմետրերով և բյուջեն դոլարներով։

Այնուհետև հաջորդ տողում տրված է q ամբողջ թիվը՝ նոր տվյալների տողերի քանակը, որոնք պետք է մասշտաբավորել։ Հաջորդ q տողերից յուրաքանչյուրը պարունակում է երկու իրական թիվ՝ ոտքի երկարություն և բյուջե, որոնք պետք է մասշտաբավորվեն՝ օգտագործելով նախնական տվյալներից հաշվված min և max արժեքները։

Ծրագիրը պետք է տպի q տող։ Յուրաքանչյուր տող պետք է պարունակի երկու իրական թիվ՝ համապատասխան նոր տողի մասշտաբավորված ոտքի երկարությունը և բյուջեն։

Մուտք

Ելք

3
0 0
5 10
10 20
3
-5 10
10 25
5 5

-0.5 0.5
1 1.25
0.5 0.25

2
24 100
26 100
3
23 100
27 100
25 120

-0.5 0
1.5 0
0.5 0

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue