POJ 3427 Ecology tax(水~)

Description
现在要伐木,要把树截成和卡车一样的长度,所以就有可能会造成截断后,树的长度比卡车的长度短,这部分的树就要扔掉,所以就是浪费的部分,又由于浪费的树木的数量与税收是成正比的,所以现在让我们求要等待几年再去伐树,所交的税最少,注:树一年长一米
Input
一组用例,第一行为两个整数n和l分别表示树的数量和卡车的长度,接下来的一行是每棵树的高度
Output
输出等待年数
Sample Input
Sample Input 1
3 1
10 15 11
Sample Input 2
3 2
5 3 6
Sample Output
Sample Output 1
0
Sample Output 2
1
Solution
此题题意不清,两种解法都可AC
解法一:(假设可以任意时间砍掉树,最后的 浪费值始终为0)
直接求等待年限最长的那棵树的等待值,然后输出
解法二:(在等待的过程中不能砍数,到n年结束时,将所有的树全部砍了,最后的浪费值是最小的值)
假设等待n年,n从1到L,计算每一个n所对应的浪费值,选取最小浪费值的n
Code

#include<stdio.h>
int main()
{
    int n,l,ll[300010],min=0,i;
    scanf("%d%d",&n,&l); 
    for(i=0;i<n;i++)
    {
        scanf("%d",&ll[i]);
        if(ll[i]%l&&l-ll[i]%l>min)
            min=l-ll[i]%l;
    }
    printf("%d\n",min);
    return 0;
} 

你可能感兴趣的:(POJ 3427 Ecology tax(水~))