求助,樣例都過不去
查看原帖
求助,樣例都過不去
700986
IkunFriendsChat楼主2023/1/3 17:48

RT

//codeforces 1591C: Minimize Distance
//Source code language: C++ 14(GCC 9)
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int tc,n,k,i,j,a[2*114514],ne[2*114514],po[2*114514];
int rp1,rp2,tm;
int main()
{
	scanf("%d",&tc);
	while(tc--)
	{
		tm=0;rp1=0;rp2=0;
		memset(a,0,sizeof a);
		memset(ne,0,sizeof ne);
		memset(po,0,sizeof po);
		scanf("%d%d",&n,&k);
		for(i=1;i<=n;i++)
		{
			scanf("%d",a+i);
			if(a[i]>0)po[++rp1]=a[i];
			else if(a[i]<0)ne[++rp2]=a[i];
		}
		sort(po+1,po+1+rp1);
		sort(ne+1,ne+1+rp2);
		for(i=1;i<=rp1;i+=k)
		tm+=po[i]*2;
		tm-=po[rp1];
		for(i=1;i<=rp2;i+=k)
		tm-=ne[i]*2;
		tm+=ne[1];
		printf("%d\n",tm);
	}
}
2023/1/3 17:48
加载中...