求助今晚abc C题
  • 板块学术版
  • 楼主Pink_Cut_Tree
  • 当前回复11
  • 已保存回复11
  • 发布时间2023/12/23 21:41
  • 上次更新2023/12/24 08:39:29
查看原帖
求助今晚abc C题
793625
Pink_Cut_Tree楼主2023/12/23 21:41

AC ×25 WA×3\text{AC }\times 25 \text{ WA}\times 3

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+5; 
int n,k,tmp;
deque<int>Q;
int a[N];
long long ans;
int main(){
	cin.tie(0)->sync_with_stdio(0);
	cin>>n>>k;
	for(int i=1;i<=k;i++){
		cin>>a[i];
	}
	sort(a+1,a+k+1);
	for(int i=1;i<=k;i++){
		Q.push_back(a[i]);
	}
	while(1){
		if(Q.size()==1){
			cout<<ans; return 0;
		}
		if(Q.size()==2){
			cout<<ans+abs(Q.front()-Q.back()); return 0;
		}
		int head=Q.front(); Q.pop_front();
		int tail=Q.back(); Q.pop_back();
		if(abs(Q.front()-head)<=abs(Q.back()-tail)){
			ans+=(abs(Q.front()-head)); Q.push_back(tail); Q.pop_front();
		}
		else{
			ans+=abs(Q.back()-tail); Q.push_front(head); Q.pop_back();
		}
	}
return 0;
}
2023/12/23 21:41
加载中...