码迷,mamicode.com
首页 > 其他好文 > 详细

Wonder Room

时间:2015-05-04 22:18:35      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:codeforces 466b

题意:给n个学生安排住宿,条件是每个学生所分配的面积至少为6平米,给你学生数n及现有的房子面积a*b。可以从任何边扩展,问扩展后的满足条件的最小面积及边长。

思路:按边暴力

代码:

#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <vector>
#include <queue>
#include <stdlib.h>
#include <string.h>
#define N 1000010
#define INF 1000000000000
#define LL long long
#define eps 10E-9
#define mem(a)  memset(a,0,sizeof(a))
#define w(a)   while(a)
#define s(a)   scanf("%lld",&a)
#define ss(a,b)   scanf("%lld%lld",&a,&b)
#define sss(a,b,c)   scanf("%lld%lld%lld",&a,&b,&c)
using namespace std;
struct node
{
    LL x,y,sum;
} h[N];
bool cmp(node x,node y)
{
    return x.sum<y.sum;
}
LL n,i,j,a,b,c,s,a1,b1;
LL top=0;
int main()
{
    sss(n,a,b);
    if(a*b>=6*n)
    {
        cout<<a*b<<endl;
        cout<<a<<" "<<b<<endl;
    }
    else
    {
        for(j=b;; j++)
        {
            if(j-b>100000)
                break;
            i=6*n/j;
            if(b*i==6*n)
                i=6*n/j;
            else
                for(i=6*n/j;; i++)
                {
                    if(i*j>=6*n)
                        break;
                }
            if(i<a)
                break;
            h[top].sum=i*j;
            h[top].x=i,h[top++].y=j;
        }
        for(j=a;; j++)
        {
            if(j-a>100000)
                break;
            i=6*n/j;
            if(j*i==6*n)
                i=6*n/j;
            else
                for(i=6*n/j;; i++)
                {
                    if(i*j>=6*n)
                        break;
                }
            if(i<b)
                break;
            h[top].sum=i*j;
            h[top].x=i,h[top++].y=j;
        }
        sort(h,h+top,cmp);
        printf("%lld\n",h[0].x*h[0].y);
        if(a>b&&h[0].x<h[0].y||a<b&&h[0].x>h[0].y)
            swap(h[0].x,h[0].y);
        printf("%lld %lld\n",h[0].x,h[0].y);
    }
    return 0;
}


Wonder Room

标签:codeforces 466b

原文地址:http://blog.csdn.net/bigsungod/article/details/45484609

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!