結果

問題 No.1010 折って重ねて
ユーザー i_am_nicolen_22
提出日時 2020-03-20 22:03:06
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 2,229 bytes
コンパイル時間 1,932 ms
コンパイル使用メモリ 166,556 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2024-12-15 05:53:30
合計ジャッジ時間 3,006 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 43
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;

#define REP(i, s) for (int i = 0; i < s; ++i)
#define ALL(v) (v).begin(), (v).end()
#define COUT(x) cout << #x << " = " << (x) << " (L" << __LINE__ << ")" << endl
#define EACH(i, s) for (__typeof__((s).begin()) i = (s).begin(); i != (s).end(); ++i)
#define DEBUG
#define int long long
#define INF 1e18
template <class T>
inline bool chmax(T &a, T b)
{
    if (a < b)
    {
        a = b;
        return 1;
    }
    return 0;
}
template <class T>
inline bool chmin(T &a, T b)
{
    if (a > b)
    {
        a = b;
        return 1;
    }
    return 0;
}
template <class T1, class T2>
ostream &operator<<(ostream &s, pair<T1, T2> P)
{
    return s << '<' << P.first << ", " << P.second << '>';
}
template <class T>
ostream &operator<<(ostream &s, vector<T> P)
{
    for (int i = 0; i < P.size(); ++i)
    {
        if (i > 0)
        {
            s << " ";
        }
        s << P[i];
    }
    return s;
}
template <class T>
ostream &operator<<(ostream &s, vector<vector<T>> P)
{
    for (int i = 0; i < P.size(); ++i)
    {
        s << endl
          << P[i];
    }
    return s << endl;
}
template <class T>
ostream &operator<<(ostream &s, set<T> P)
{
    EACH(it, P) { s << "<" << *it << "> "; }
    return s << endl;
}
template <class T1, class T2>
ostream &operator<<(ostream &s, map<T1, T2> P)
{
    EACH(it, P) { s << "<" << it->first << "->" << it->second << "> "; }
    return s << endl;
}
template <class T>
void show(vector<T> v)
{
    for (int i = 0; i < v.size(); i++)
    {
        cerr << v[i] << " ";
    }
    cerr << "\n";
}
typedef long long ll;

signed main()
{
    int x, y, h;
    cin >> x >> y >> h;
    /*  if (x == y && y == h)
    {
        cout << 8 << endl;
        return 0;
    }*/
    x *= 1000;
    y *= 1000;
    int cnt = 0;
  if(x>y) swap(x,y);
    while (x > h)
    {
        if (x > h)
        {
            cnt++;
            y *= 2;
            h *= 4;
        }
        //   cerr<<x<<" "<<y<<" "<<h<<endl;
    }
    while (y > h)
    {
        if (y > h)
        {
            cnt++;
            x *= 2;
            h *= 4;
        }
        //     cerr << x << " " << y << " " << h << endl;
    }
    cout << cnt << endl;

    return 0;
}
0