日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

排队打饭

發布時間:2023/12/14 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 排队打饭 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

排隊打飯

Time Limit: 1000ms?? Memory limit: 65536K??有疑問?點這里^_^

題目描述

一天中午,有N個學生來到食堂買飯,他們需要排成了一個一字隊伍并按順序打飯,現在已經知道了每個人買飯的時間,現在食堂的管理員希望知道他們按照怎樣的順序買飯能夠使得所有人等待的時間總和最小(每個人等待的時間?=?排在他前面的人的打飯時間和+自己打飯的時間)。

輸入

輸入的第一行包含一個整數T(T≤30)表示數據組數,每組數據包括兩行,第一行為一個整數N表示人數,第二行為N個整數表示每個人買飯所需要的時間,所有整數均不超過100。

輸出

每組數據輸出一行,包括一個整數,表示所有人等待時間總和的最小值。

示例輸入

251 2 3 4 5545 10 48 37 9

示例輸出

35334

提示

來源

示例程序

#include<stdio.h> int main() { int i,j,n,m,k,t,a[101],b,c[101],l; scanf("%d",&n); for(l=0;l<n;l++) { scanf("%d",&m); for(j=0;j<m;j++) scanf("%d",&a[j]); for(i=0;i<m-1;i++) { k=i; for(j=i+1;j<m;j++) if(a[k]>a[j]) k=j; if(k!=i) { t=a[k]; a[k]=a[i]; a[i]=t; } } t=0; for(i=0;i<m;i++) { k=a[i]; if(i==0) { t=k; c[i]=k; } else { t+=k; c[i]=t; } } b=0; for(j=0;j<m;j++) b+=c[j]; printf("%d\n",b); } }

總結

以上是生活随笔為你收集整理的排队打饭的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。