电梯
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
现在有n个人在一楼准备坐电梯,这个电梯最多能装m个人,我们想知道n个人都到达目标楼层,电梯回到一楼最少走了多少层。
输入
本题有多组测试数据,每组数据有两行
第一行,两个数字n和m.(1<=n,m<=1000)
第二行包含n个数字,每个数字表示他要去的楼层(1<=楼层<=10000).
输出
每组数据输出一行。
示例输入
6 6 6 6 6 6 6 6
示例输出
10
题目理解错误。
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int op(int a,int b)
{
return a>b;
}
int a[1000000];
int main()
{
int n,m,i;
long long j;
while(cin>>n>>m)
{
for(i=0; i<n; i++)
{
cin>>a[i];
}
sort(a,a+n,op);//从大到小排列。
j=0;
for(i=0; i<n; i+=m)//处理时 1.当N》M,应当分批次乘电梯,并且只需要把当前最高层的人送到即可。
{
j+=(a[i]-1);
}
cout<<j*2<<endl;
}
return 0;
}