思想
这道题就是个模拟题,首先我们需要动态的维护一个最小值minn,然后a数组每个元素如果不是0,那么就删去minn
#include<bits/stdc++.h>
using namespace std;
int n,k;
const int N=1010;
int a[N];
int main()
{
cin>>n>>k;
for(int i=1;i<=n;i++)cin>>a[i];
while(k--)
{
int minn=0;
for(int i=1;i<=n;i++)
{
if(a[i]==0)continue;//如果最小值不为0,那么我们就可以接着求最小值
if(minn)
{
minn=min(minn,a[i]);
}
else
{
minn=a[i];
}
}
for(int i=1;i<=n;i++)
if(a[i])a[i]-=minn; //如果a[i]已经是0,那就跳过当前数,继续去减下一个
cout<<minn<<endl;
}
return 0;
}