結果

問題 No.5009 Draw A Convex Polygon
ユーザー maimai
提出日時 2022-12-11 22:53:27
言語 cLay
(20240714-1)
結果
AC  
実行時間 1,933 ms / 2,600 ms
コード長 680 bytes
コンパイル時間 2,026 ms
実行使用メモリ 92,228 KB
スコア 1,000,000
平均クエリ数 1000001.00
最終ジャッジ日時 2022-12-11 22:53:35
合計ジャッジ時間 6,858 ms
ジャッジサーバーID
(参考情報)
judge11 / judge12
純コード判定しない問題か言語
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1,933 ms
92,228 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

{
  set<pair<int, int>> li;
  REP(i, 1500) {
    const int vy = i + 1;
    REP(j, 1500) {
      const int vx = j + 1;
      int g = gcd(vy, vx);
      li.emplace(vy/g, vx/g);
    }
  }
  vector<pair<int, int>> li2(li.begin(), li.end());
  sort(li2.begin(), li2.end(),
      [](pair<int, int> l, pair<int, int> r){
        return (ll)(l.first)*r.second > (ll)(r.first)*l.second;
      }
  );
  int n = 1000000;
  wt(n);
  n -= 2;
  ll y = 0, x = 0;
  ll oy = 0, ox = 0;   
  // ll oy = 800000000, ox = 800000000;
  wt(0-oy, 0-ox);
  auto it = li2.begin();
  REP(_, n) {
    y += it->first;
    x += it->second;
    wt(y-oy, x-ox);
    ++it;
  }
  wt(0-oy, x-ox);
  cout.flush();
}
0