2024牛客寒假算法基础集训营1-C题-按闹分配
按闹分配
https://ac.nowcoder.com/acm/contest/67741/C
通过容忍限度得出小鸡能从后往前插队几个人
#include <algorithm>
using namespace std;
long long int n,q,tc,m,a[100010],b[100010],c[100010];
int main()
{
scanf("%lld %lld %lld",&n,&q,&tc);
for (int i=1;i<=n;i++) scanf("%lld",&a[i]);
sort(a+1,a+n+1);
for (int i=1;i<=n;i++) {
b[i]=a[i]+b[i-1];
c[i]=c[i]+b[i];
}
while (q--) {
scanf("%lld",&m);
if (m<tc) printf("%lld\n",b[n]+tc);
else if (m>n*tc) printf("%lld\n",tc);
else printf("%lld\n",b[n-m/tc]+tc);
}
return 0;
}