CodeFoeces-472B

题目

原题链接:B. Design Tutorial: Learn from Life

题意

有n个人乘电梯,电梯最多乘k个人。每次电梯从a楼到b楼花|a-b|s。问最少花几秒送完所有人并回到一楼。
参考了其他作者的思路。从最高的开始送,每次只需要跑k个人中楼层最高的那一位。

3 2
2 3 4
这个样例可以看出,第一次只成功运送了2楼的人,第二次成功运送了3、4楼的人。因此从高向低找。

代码

#include
using namespace std;
int main() {
    int n,k,s[2000];
    cin>>n>>k;
    for(int i=0;i>s[i];
    }
    sort(s,s+n);
    int ans=0;
    for(int i=n-1;i>=0;i-=k){
        ans+=2*(s[i]-1);
    }
    printf("%d\n",ans);
    return 0;
}

你可能感兴趣的:(CodeFoeces-472B)