ホームページ >ウェブフロントエンド >htmlチュートリアル >Codeforces ラウンド #256 (ディビジョン 2) D. 乗算 Table_html/css_WEB-ITnose

Codeforces ラウンド #256 (ディビジョン 2) D. 乗算 Table_html/css_WEB-ITnose

WBOY
WBOYオリジナル
2016-06-24 12:01:421262ブラウズ

質問リンク: http://codeforces.com/contest/448/problem/D

アイデア: 二分法を使用する

コード:

#include<cstdio>#include<cmath>#include<iostream>using namespace std;__int64 n,m,k;__int64 f(__int64 x){    __int64 res=0;    for(__int64 i=1;i<=n;i++)    {        __int64 minn=min(m,x/i);  //计算第i行有多少个数比x小,并且最多也只要m个数比x小        res+=minn;                //计算出比x小的数的共有多少个    }    return res<k;}int main(){    while(scanf("%I64d%I64d%I64d",&n,&m,&k)==3)    {        __int64 l=1,r=n*m;        while(l<r)        {            __int64 mid=(l+r)/2;            if(f(mid))l=mid+1;            else r=mid;        }        printf("%I64d\n",l);    }    return 0;}


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。