#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
#define inf 0x3f3f3f3f
const int mod=1e9+7;
const int N=2e5+5;
int n,k;
int a[N];
void solve(){
cin>>n>>k;
int sum=0;
for(int i=1;i<=n;i++){
cin>>a[i];
sum+=a[i];
}
if(sum%k==0){
cout<<0;
return;
}
sort(a+1,a+n+1);
int x=sum%k;
for(int i=n;i>0;i--){
if(a[i]>=x){
cout<<n+1-i;
return;
}
x-=a[i];
}
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int tt=1;
// cin>>tt;
while(tt--) solve();
return 0;
}
小红不想做鸽巢原理(贪心)--牛客周赛 Round 39-B
最新推荐文章于 2024-09-12 18:58:16 发布
这篇文章描述了一个编程问题,涉及C++代码实现,目标是找到一个整数数组中,通过在适当位置插入元素使其总和能被k整除的最小插入位置。通过排序和模运算来寻找解决方案。
摘要由CSDN通过智能技术生成