codeforces 466B Wonder Room(思维,暴力)

题目

参考了别人的博客,百度来的博客

#include<iostream>
#include<string>
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
using namespace std;

//暴力
//a ≤ a1; b ≤ b1

int main()
{
    __int64 n,a,b;
    scanf("%I64d%I64d%I64d",&n,&a,&b);
    if(n*6<=a*b)printf("%I64d
%I64d %I64d
",a*b,a,b);
    else 
    {
        __int64 mm=n*6,x=a,y=b,mmm=0;
        __int64 m=(__int64)sqrt(mm)+1;
        for(__int64 i=a;i<=m;i++)
        {
            __int64 yy=mm/i+(mm%i!=0);
            if(yy*i>=mm&&yy>=b)
            {
                if(!mmm)mmm=i*yy,x=i,y=yy;
                else if(yy*i<mmm)mmm=yy*i,x=i,y=yy;
            }
        }
        for(__int64 i=b;i<=m;i++)
        {
            __int64 xx=mm/i+(mm%i!=0);
            if(xx*i>=mm&&xx>=a)
            {
                if(!mmm)mmm=i*xx,y=i,x=xx;
                else if(xx*i<mmm)mmm=xx*i,y=i,x=xx;
            }
        }
        printf("%I64d
%I64d %I64d
",mmm,x,y);
    }
    return 0;
}
View Code
原文地址:https://www.cnblogs.com/laiba2004/p/3977893.html