問題 H: 橙子姐姐的夢
時間限制: 1 Sec 內存限制: 256 MB提交: 427 解決: 68
[提交][狀態][討論版]
題目描述
橙子姐姐偷走了船長的寶藏並買下了n(1<n<=10^6)個城市,編號從1到n,第i個城市的價格爲ai,(0<ai<=10^4,且爲整數),但是這n個城市之間沒有路,不是互相連通的,因此他請來了工程師zcx來幫他修路。橙子姐姐想盡量多修路,但黑心的zcx爲了賺更多的錢,告訴橙子姐姐1個城市最多隻能有1條路連接其他城市,並且修一條路的費用等於橙子姐姐購買這條路相連的兩個城市的費用總和。精明的橙子姐姐由於經費原因只能修k(1<=k<=10^3,k<n/2)條路,請幫橙子姐姐計算一下他最少花多少經費。
輸入
第一行輸入一個整數t(1<=t<=3)表示有t組測試數據,對於每組數據,第一行輸入2個數n,k分別代表城市數量n和道路數量k,第二行輸入n個數分別代表城市的價格a1,a2,a3…….an。
輸出
對於每組數據,輸出橙子姐姐總共花的錢.
樣例輸入
25 13 2 1 5 46 22 5 9 7 1 1
樣例輸出
39
提示
用sort排序TLE了好久
改成基數排序不過用了map還TLE
最後改成正常的AC 好不容易啊
#include
#include
#include
using namespace std;
long long sum;
int v[10002];
int main()
{
int n,m,i,t,x,kk;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
sum=0;
memset(v,0,sizeof(v));
for(i=0; i