电梯 SDUToj 3019

电梯

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;
}


你可能感兴趣的:(电梯 SDUToj 3019)