Kattis - Biased Standings
Biased Standings
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 waitHow 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.
Given team names and their preferred placements find one ranklist with the minimal possible badness.
Input
The first line of the input file contains an integer T,T≤20T,T≤20, 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 an integer N(N≤100000)N(N≤100000) – the number of teams participating in the competition. Each of the next NN lines contains a team name (a string of letters and numbers of length at most 20) and its preferred place (an integer between 1 and NN, inclusive). No two team names will be equal.
Output
For each of the test cases output a single line with a single integer – the badness of the best ranklist for the given teams.
Sample Input 1 | Sample Output 1 |
---|---|
|
|
题意
给出队名,首选位置,然后给他们排一个实际的表,求实际位置和首选位置的差值和最小
思路
代码
- #include<bits/stdc++.h>
- using namespace std;
- #define LL long long
- struct Node{
- string s;
- int id;
- int num;
- }aa[];
- bool cmp(Node a,Node b){
- return a.num<b.num;
- }
- int main(){
- int t;
- cin>>t;
- while(t--){
- int n;
- cin>>n;
- LL sum=;
- for(LL i=;i<n;i++){
- cin>>aa[i].s>>aa[i].num;
- }
- sort(aa,aa+n,cmp);
- for(LL i=;i<n;i++){
- aa[i].id=i+;
- sum+=abs(aa[i].id-aa[i].num);
- }
- cout<<sum<<endl;
- }
- return ;
- }
Kattis - Biased Standings的更多相关文章
- ural 1100. Final Standings(数据结构)
1100. Final Standings Time limit: 1.0 secondMemory limit: 16 MB Old contest software uses bubble sor ...
- Java偏向锁实现原理(Biased Locking)
http://kenwublog.com/theory-of-java-biased-locking 阅读本文的读者,需要对Java轻量级锁有一定的了解,知道lock record, mark wor ...
- It's a Mod, Mod, Mod, Mod World Kattis - itsamodmodmodmodworld (等差数列求和取模)
题目链接: D - It's a Mod, Mod, Mod, Mod World Kattis - itsamodmodmodmodworld 具体的每个参数的代表什么直接看题面就好了. AC代码: ...
- A - Piece of Cake Kattis - pieceofcake (数学)
题目链接: A - Piece of Cake Kattis - pieceofcake 题目大意:给你一个多边形,然后给你这个多边形的每个点的坐标,让你从这个n个点中选出k个点,问这个k个点形成的面 ...
- Subsequences in Substrings Kattis - subsequencesinsubstrings (暴力)
题目链接: Subsequences in Substrings Kattis - subsequencesinsubstrings 题目大意:给你字符串s和t.然后让你在s的所有连续子串中,找出这些 ...
- G - Intersecting Rectangles Kattis - intersectingrectangles (扫描线)(判断多个矩形相交)
题目链接: G - Intersecting Rectangles Kattis - intersectingrectangles 题目大意:给你n个矩形,每一个矩形给你这个矩形的左下角的坐标和右上角 ...
- E - Emptying the Baltic Kattis - emptyingbaltic (dijkstra堆优化)
题目链接: E - Emptying the Baltic Kattis - emptyingbaltic 题目大意:n*m的地图, 每个格子有一个海拔高度, 当海拔<0的时候有水. 现在在(x ...
- G - Galactic Collegiate Programming Contest Kattis - gcpc (set使用)
题目链接: G - Galactic Collegiate Programming Contest Kattis - gcpc 题目大意:当前有n个人,一共有m次提交记录,每一次的提交包括两个数,st ...
- JVM内部细节之二:偏向锁(Biased Locking)
在前面一片文章<JVM内部细节之一:synchronized关键字及实现细节>中已经提到过偏向锁的概念,在理解什么是偏向锁前必须先理解什么是轻量级锁(Lightweight Locking ...
随机推荐
- INSTEAD OF触发器
Oracle触发器5(INSTEAD OF触发器) 前提:对于简单的视图,可以直接进行DML操作,但是对于复杂视图,不允许直接执行DML操作,当视图符合以下任何一种情况都不可以: 具有集合操作符(UN ...
- 学习GDI+ (1)
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- c#中关于String、string,Object、object,Int32、int
在java中,string和String有着明显的区别,后者就是前者的一个封装.在c#中,好像是通用的,大部分情况下,两者互换并不会产生问题.今天特意查了一下资料,了解了一下两者的关系. 简单的讲,S ...
- ASP.NET MVC中使用Unity进行依赖注入的三种方式
在ASP.NET MVC中使用Unity进行依赖注入的三种方式 2013-12-15 21:07 by 小白哥哥, 146 阅读, 0 评论, 收藏, 编辑 在ASP.NET MVC4中,为了在解开C ...
- 何为分类,UIImageView举例
终于开始自己这个“聚水成洋”的路程了. 经过近一年的iOS学习和开发,遇到很多困难,一开始的陌生和畏惧,中途的困惑和纠结,解决问题后的豁然开朗和总结提升,自己就在这样一个不断的循环中逐渐成长起来了. ...
- SVN版本冲突解决详解
SVN版本冲突解决详解 分类: SVN(SubVersion)2009-11-23 15:45 27014人阅读 评论(12) 收藏 举报 svnsubversion服务器文档工作c 版本冲突原因: ...
- MySql数据库连接操作
主要封装为MySqlHelper类 namespace CiWong.LearningLevelApi.MySqlHelp { /// <summary> /// MySqlHelper ...
- 关于 HttpModule配置问题
在经典模式下,配置到System.web节点 在IIS7以上的集成模式下,要配置到<system.webServer>节点 否则会出现类似一下的错误: 具体配置如下: <config ...
- 在WebStorm中集成Karma+jasmine进行前端单元测试
在WebStorm中集成Karma+jasmine进行前端单元测试 前言 好久没有写博了,主要还是太懒=.=,有点时间都去带娃.看书了,今天给大家分享一个原创的小东西,如果大家对TDD或者BDD有兴趣 ...
- (*p)++ 与 *p++ 与 ++*p 拨开一团迷雾
(*p)++ 与 *p++ 与 ++*p 拨开一团迷雾 环境:win7 IDE:DEV-C++ 编译器:GCC 1.先说++i和i++的基础 代码如下: ? 1 2 3 4 5 6 7 8 9 10 ...