70pts球跳
查看原帖
70pts球跳
1176325
badn楼主2024/11/26 20:57
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e6;
int t,n,k,a[N],mx,kl,pos;
ll ans;
int main(){
	for(scanf("%d",&t);t--;){
		scanf("%d%d",&n,&k),ans=mx=kl=0;
		for(int i=1;i<=n;++i)scanf("%d",a+i),kl=max(kl,a[i]);
		if(k){
			if(n==2&&(k%2)&&a[1]>a[2])ans=a[1]+a[2];
			else for(int i=1;i<=n;++i)ans+=kl;
		}
		else for(int i=1;i<=n;++i)mx=max(mx,a[i]),ans+=mx;
		printf("%lld\n",ans);
	}
	return 0;
}
2024/11/26 20:57
加载中...