結果
問題 | No.5009 Draw A Convex Polygon |
ユーザー | mai |
提出日時 | 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 |
純コード判定しない問題か言語 |
(要ログイン)
ソースコード
{ 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(); }