用两个优先队列来实现,因为队列只能从一头出去;

所以维护一个数组,来标记这个队列的已经出列而另外一个队列没有出列的元素;

到时候再把他们删了就行;

 #include<cstdio>
#include<queue>
#include<cstring>
#define maxn 1000009
using namespace std; priority_queue<int,vector<int>,greater<int> >gq;
priority_queue<int,vector<int>,less<int> >lq;
int numg[maxn],numl[maxn];
int main()
{
int n,x,k;
while(scanf("%d",&n)&&n)
{
memset(numl,,sizeof numl);
memset(numg,,sizeof numg);
long long ans=;
while(!gq.empty())gq.pop();
while(!lq.empty())lq.pop();
for(int i=;i<n;i++)
{
scanf("%d",&k);
while(k--)
{
scanf("%d",&x);
gq.push(x);
lq.push(x);
}
while()
{
if(numg[lq.top()]>)
{
numg[lq.top()]--;
lq.pop();
}
else break;
}
while()
{
if(numl[gq.top()]>)
{
numl[gq.top()]--;
gq.pop();
}
else break;
}
numg[gq.top()]++;
numl[lq.top()]++;
ans+=lq.top()-gq.top();
gq.pop();
lq.pop();
}
printf("%lld\n",ans);
}
return ;
}

还可以用multiset来做;

代码:

 #include<cstdio>
#include<set>
using namespace std; multiset<int>s; int main()
{
int n,k,x;
while(scanf("%d",&n)&&n)
{
long long ans=;
s.clear();
while(n--)
{
scanf("%d",&k);
while(k--)
{
scanf("%d",&x);
s.insert(x);
}
multiset<int>::iterator it;
it=s.begin();
int mi=*it;
s.erase(it);
it=s.end();
it--;
int ma=*it;
s.erase(it);
ans+=ma-mi;
}
printf("%lld\n",ans);
}
return ;
}

最新文章

  1. Azure PowerShell (10) 使用PowerShell导出订阅下所有的Azure VM和Cloud Service的高可用情况
  2. Redis修改数据多线程并发—Redis并发锁
  3. Android SDK更新以及ADT更新出现问题的解决办法
  4. .htaccess应该放在哪里?
  5. 新冲刺Sprint3(第三天)
  6. 解析json实例
  7. maven编译项目理解
  8. [转] Android OkHttp完全解析 是时候来了解OkHttp了
  9. -ms-viewport的问题
  10. laravel中StartSession中间件的问题
  11. VS2008与opencv结合使用的方法
  12. UpdatePanel控件的使用和局部刷新
  13. redis集群篇
  14. javascript 运算符优先级
  15. [leetcode]49. Group Anagrams变位词归类
  16. MySQL行(记录)的详细操作一 介绍 二 插入数据INSERT 三 更新数据UPDATE 四 删除数据DELETE 五 查询数据SELECT 六 权限管理
  17. UVA408-水的深度的伪随机数
  18. mybatis由浅入深day01_6SqlMapConfig.xml(6.2settings全局参数配置_6.3typeAliases(类型别名)_6.4typeHandlers(类型处理器)_6.5mappers(映射配置))
  19. i.mx6 Android5.1.1 vibrator系统服务流程
  20. 浅析JVM内存区域及垃圾回收

热门文章

  1. LeetCode刷题笔录Add Binary
  2. Java jdbc数据库连接池总结!(转)
  3. pcap的pcap_dump()保存的文件格式
  4. ASP.NET Web API(二):安全验证之使用HTTP基本认证
  5. JDK8新特性之Lambda表达式
  6. Android(java)学习笔记184:生成 4种 不同权限的文件
  7. vs2012 aspx 没有设计视图了?
  8. python np.linspace
  9. [转]JavaScript 的同源策略
  10. 关于wordpress中更换CKEditor编辑器