#include<stdio.h>
#include<queue>
#include<iostream>
#include<algorithm>
using namespace std;
struct cmp
{
bool operator()(int x,int y)
{
return x>y;
}
};
priority_queue<int,vector<int>,cmp>q;
priority_queue<int>q2;
int main()
{
int T;
int L,n;
int A,B;
int iCase=0;
scanf("%d",&T);
while(T--)
{
iCase++;
scanf("%d%d",&L,&n);
while(!q.empty())q.pop();
while(!q2.empty())q2.pop();
int x=0;
int ans=0;
int t=1;
while(n--)
{
scanf("%d",&A);
if(A==0)
{
scanf("%d",&B);
if(B>=x)q.push(B);
else q2.push(B);
}
else
{
if(!q.empty()&&!q2.empty())
{
int temp1=q.top();
int temp2=q2.top();
if(temp1-x<x-temp2)
{
t=1;
ans+=q.top()-x;
x=q.top();
q.pop();
}
else if(temp1-x>x-temp2)
{
t=-1;
ans+=x-q2.top();
x=q2.top();
q2.pop();
}
else if(t==1)
{
ans+=q.top()-x;
x=q.top();
q.pop();
}
else
{
ans+=x-q2.top();
x=q2.top();
q2.pop();
}
}
else if(!q.empty())
{
t=1;
ans+=q.top()-x;
x=q.top();
q.pop();
}
else if(!q2.empty())
{
t=-1;
ans+=x-q2.top();
x=q2.top();
q2.pop();
}
}
}
printf("Case %d: %d\n",iCase,ans);
}
return 0;
}
tjut 4302
最新推荐文章于 2016-11-04 22:02:44 发布