网站怎么快速做排名,做外贸网站怎么样,郑州网站seo顾问,可以讨论网站建设的论坛问题描述 有n个人排队到r个水龙头去打水#xff0c;他们装满水桶的时间t1、t2………..tn为整数且各不相等#xff0c;应如何安排他们的打水顺序才能使他们总共花费的时间最少#xff1f; 输入格式 第一行n#xff0c;r (n500,r75) 第二行为n个人打…问题描述 有n个人排队到r个水龙头去打水他们装满水桶的时间t1、t2………..tn为整数且各不相等应如何安排他们的打水顺序才能使他们总共花费的时间最少 输入格式 第一行nr (n500,r75) 第二行为n个人打水所用的时间Ti (Ti100) 输出格式 最少的花费时间 样例输入 3 2 1 2 3 样例输出 7
#include iostream
#include cstring
#include algorithm
using namespace std;
int main(){int n,r;//n人数r水龙头个数 cinnr;int a[100];for(int i1;in;i){cina[i];}sort(a1,an1);//要使每个人平均等待时间最小,接水时间小的排在前面//水龙头int tap[100];//记录每个水龙头的时间下标是不同的水龙头元素是时间 memset(tap,0,sizeof(tap));int j1; int sum0;//总时间 for(int i1;in;i){if(jr1) j1;//水龙头的个数少于j从第一个水龙头开始 tap[j]a[i];// 这个人在这个水龙头花去的时间 sumtap[j];//总时间包含了一个人等待另一个人接水的时间 //对每个接水时间T进行累加是下一个人的等待时间。对每个等待时间进行累加是总等待时间j;}coutsumendl;return 0;
}