对于学过排序的来说是一道比较简单的题。思路:题目让给出时长最短的方法,参加之后增加的值都是1,所以先将所有活动时长从小到大排列一遍,再逐个参加,
直到满足条件为止,一下展示的是sort排序方法
#include<bits/stdc++.h>//万能头文件
using namespace std;
int a[100001],b[100001],m,n,ans;//ans的值自动会为0
int main(){
freopen("bird.in","r",stdin);//freopen文件读写
freopen("bird.out","w",stdout);
cin>>n>>m;//读入
for(int i=1;i<=n;i++) cin>>a[i];
sort(a,a+n);//将时长从小到大排列
for(int i=1;i<=m;i++) ans+=a[i];//加上所需时间
cout<<ans;//输出结果
return 0;
}