题意:输入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); } }