比赛 |
2024暑假C班集训9 |
评测结果 |
WWWWWWWWWW |
题目名称 |
机场改建 |
最终得分 |
0 |
用户昵称 |
djyqjy |
运行时间 |
0.547 s |
代码语言 |
C++ |
内存使用 |
6.17 MiB |
提交时间 |
2024-07-09 08:54:40 |
显示代码纯文本
//看看能骗多少分
#include<bits/stdc++.h>
using namespace std;
const int N=200010;
long long t;
long long n,d;
int main()
{
freopen("airport.in","r",stdin);
freopen("airport.out","w",stdout);
scanf("%lld",&t);
while(t--)
{
long long ans=0;
priority_queue <long long> q2;
priority_queue <long long,vector<long long>,greater<long long> > q1;
scanf("%lld%lld",&n,&d);
for(int i=1;i<=n;i++)
{
long long x;
scanf("%lld",&x);
if(i==1)
{
q1.push(x);
q2.push(x);
printf("%lld ",ans);
continue;
}
long long a=q1.top(),b=q2.top();
if(!(abs(a-x)>=d||abs(b-x)>=d))
{
if(x<=a) ans+=d-b+x,x=b-d;
else if(a<=x&&x<=b)
{
if(x-a>b-x) ans+=a+d-x,x=a+d;
else ans+=d-b+x,x=b-d;
}
else ans+=a+d-x,x=a+d;
}
q1.push(x);
q2.push(x);
printf("%lld ",ans);
}
printf("\n");
}
return 0;
}