题意:输入N(N棵树),L(只能伐长度是L的数目),然后输入N棵树的高度。
枚举等待的年数,0到L-1 到L和0应该是一样的,然后把每年剩下的浪费的树的长度加起来,最后求出浪费最少的树木的等待年数。
#include<iostream>
using namespace std;
int main()
{
int a[30010],b[30010],L,N,i,j;
while(scanf("%d%d",&N,&L)!=EOF)
{
for(i=0;i<N;i++)
scanf("%d",&a[i]);
int sum=0,year;
int max=100000;
for(j=0;j<=L;j++)
{
sum=0;
for(i=0;i<N;i++)
{
b[i]=L>a[i]?a[i]:a[i]%L;
sum+=b[i];
a[i]++;
}
if(sum<max) {max=sum;year=j;}
}
printf("%d\n",year);
}
}