BAISED - Biased Standings

no tags 

Usually, results of competitions are based on the scores of participants. However, we are planning a change for the next year of IPSC. During the registration each team will be able to enter a single positive integer : their preferred place in the ranklist. We would take all these preferences into account, and at the end of the competition we will simply announce a ranklist that would please all of you.

But wait... How would that ranklist look like if it won't be possible to satisfy all the requests?

Suppose that we already have a ranklist. For each team, compute the distance between their preferred place and their place in the ranklist. The sum of these distances will be called the badness of this ranklist.

Problem specification

Given team names and their preferred placements find one ranklist with the minimal possible badness.

Input specification

The first line of the input file contains an integer T specifying the number of test cases. Each test case is preceded by a blank line.

Each test case looks as follows: The first line contains N : the number of teams participating in the competition. Each of the next N lines contains a team name (a string of letters and numbers) and its preferred place (an integer between 1 and N, inclusive). No two team names will be equal.

Output specification

For each of the test cases output a single line with a single integer : the badness of the best ranklist for the given teams.

Example

Input:
2

7
noobz 1
llamas 2
Winn3rz 2
5thwheel 1
NotoricCoders 5
StrangeCase 7
WhoKnows 7

3
ThreeHeadedMonkey 1
MoscowSUx13 1
NeedForSuccess 1

Output:
5
3
Explanation:

In the first test case, one possible ranklist with the minimal badness is:

1. noobz
2. llamas
3. Winn3rz
4. 5thwheel
5. NotoricCoders
6. WhoKnows
7. StrangeCase

In the second test case all ranklists are equally good.

Note: the input file will not exceed 5MB.

hide comments
pistachio: 2019-03-17 20:42:31

1 <= N <= 100000 and in some tests cases the badness of the best ranklist could be over 2^31, thus use long if needed

a_ranjan: 2018-06-30 17:03:22

int cost me one wrong answer , long long passes all test cases
*_*

Last edit: 2018-06-30 17:03:37
kr_4shivam: 2018-06-29 10:11:59

try to solve in O(n)

sharansh12: 2018-06-28 06:19:32

just use sort function in cpp and use long long

vir_mis: 2018-06-25 08:55:59

no worries for long long etc. thanks to python <3

kushagra98: 2018-06-02 20:15:55

Long Long -_-

karan_yadav: 2018-04-18 10:46:34

Use long long, costed me a WA

Last edit: 2018-04-18 10:47:44
sherlock11: 2018-02-03 15:01:08

there is no use for the names............
O(nlgn) for sorting and O(n) for calculating answer

vengatesh15: 2017-06-02 06:55:07

Easy one..

Vale: 2017-03-24 13:31:42

AC in two go because forgot to delete the dummy line that I use for debug


Added by:Fudan University Problem Setters
Date:2007-12-01
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: C99 ERL JS-RHINO
Resource:IPSC 2006