cf#311 A. Ilya and Diplomas

题目地址

水题都错了,因为以为先尽量让第三大,其实是第一。看错题目。

#include<stdio.h>
int main()
{
    int n;
    int min1,min2,min3,max1,max2,max3;
    int r1,r2,r3;
    scanf("%d",&n);
    scanf("%d%d",&min1,&max1);
    scanf("%d%d",&min2,&max2);
    scanf("%d%d",&min3,&max3);
    r1=min1;
    r2=min2;
    r3=min3;
    n-=(r1+r2+r3);
    if(n>(max1-min1))
    {
        n-=(max1-min1);
        r1=max1;
        if(n>(max2-min2))
        {
            n-=(max2-min2);
            r2=max2;
            if(n>(max3-min3))
            {
                n-=(max3-min3);
                r3=max3;
            }
            else r3+=n;
        }
        else r2+=n;
    }
    else r1+=n;
    printf("%d %d %d\n",r1,r2,r3);
    
}


你可能感兴趣的:(cf#311 A. Ilya and Diplomas)