ログインしてください。
提出 #20008581
ソースコード 拡げる
#include <bits/stdc++.h>
using namespace std;
#define PI acos(-1)
#define pb push_back
#define int long long int
#define double long double
#define pi pair<int, int>
#define pii pair<pi, int>
#define fir first
#define sec second
#define MAXN 2000005
#define mod 1000000007
struct pt
{
double x, y;
pt operator+(pt p) { return {x + p.x, y + p.y}; } // soma de pontos
pt operator-(pt p) { return {x - p.x, y - p.y}; } // subtração de pontos
pt operator*(double d) { return {x * d, y * d}; } // multiplicação por um double
pt operator/(double d) { return {x / d, y / d}; } // divisão por um double
};
double dist(pt a, pt b)
{
pt c = a - b;
return sqrt(c.x * c.x + c.y * c.y);
}
signed main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
double x, y, raio;
cin >> x >> y >> raio;
pt a = {x, y};
int ans = 0;
for (int i = -MAXN; i <= MAXN; i++)
{
pt b;
int l = ceil(y), r = MAXN, kappa = ceil(y);
while (l < r)
{
int mid = (l + r + 1) >> 1;
b = {(double)i, (double)mid};
(dist(a, b) <= raio) ? l = mid : r = mid - 1;
}
b = {(double)i, (double)l};
if (dist(a, b) <= raio)
ans += ((l - kappa) + 1);
l = -MAXN, r = ceil(y) - 1;
while (l < r)
{
int mid = (l + r) >> 1;
pt b = {(double)i, (double)mid};
(dist(a, b) <= raio) ? r = mid : l = mid + 1;
}
b = {(double)i, (double)l};
if (dist(a, b) <= raio)
ans += (kappa - l);
}
cout << ans << endl;
return 0;
}
// pontos com coordenadas inteiras tal que dist(i, j) <= r
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - Circle Lattice Points |
| ユーザ | Ayallaa |
| 言語 | C++ (GCC 9.2.1) |
| 得点 | 0 |
| コード長 | 1618 Byte |
| 結果 | WA |
| 実行時間 | 580 ms |
| メモリ | 3792 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||||
|---|---|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 0 / 400 | ||||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample_01.txt, sample_02.txt, sample_03.txt |
| All | extreme_00.txt, extreme_01.txt, extreme_02.txt, extreme_03.txt, handmade_00.txt, handmade_01.txt, handmade_02.txt, handmade_marginal_00.txt, handmade_marginal_01.txt, handmade_marginal_02.txt, handmade_marginal_03.txt, handmade_marginal_04.txt, handmade_marginal_05.txt, random_00.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_16.txt, random_17.txt, random_18.txt, random_19.txt, random_integer_00.txt, random_integer_01.txt, random_integer_02.txt, random_integer_03.txt, random_integer_04.txt, random_integer_05.txt, random_integer_06.txt, random_integer_07.txt, random_integer_08.txt, random_integer_09.txt, sample_01.txt, sample_02.txt, sample_03.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| extreme_00.txt | AC | 577 ms | 3712 KiB |
| extreme_01.txt | AC | 572 ms | 3652 KiB |
| extreme_02.txt | AC | 576 ms | 3716 KiB |
| extreme_03.txt | AC | 580 ms | 3668 KiB |
| handmade_00.txt | AC | 548 ms | 3644 KiB |
| handmade_01.txt | AC | 545 ms | 3760 KiB |
| handmade_02.txt | WA | 538 ms | 3648 KiB |
| handmade_marginal_00.txt | AC | 569 ms | 3696 KiB |
| handmade_marginal_01.txt | AC | 574 ms | 3688 KiB |
| handmade_marginal_02.txt | AC | 572 ms | 3684 KiB |
| handmade_marginal_03.txt | AC | 566 ms | 3648 KiB |
| handmade_marginal_04.txt | AC | 564 ms | 3792 KiB |
| handmade_marginal_05.txt | AC | 571 ms | 3716 KiB |
| random_00.txt | AC | 567 ms | 3720 KiB |
| random_01.txt | AC | 549 ms | 3644 KiB |
| random_02.txt | AC | 563 ms | 3752 KiB |
| random_03.txt | AC | 555 ms | 3648 KiB |
| random_04.txt | AC | 557 ms | 3652 KiB |
| random_05.txt | AC | 545 ms | 3636 KiB |
| random_06.txt | AC | 563 ms | 3716 KiB |
| random_07.txt | AC | 546 ms | 3756 KiB |
| random_08.txt | AC | 557 ms | 3684 KiB |
| random_09.txt | AC | 566 ms | 3656 KiB |
| random_10.txt | AC | 562 ms | 3656 KiB |
| random_11.txt | AC | 553 ms | 3660 KiB |
| random_12.txt | AC | 558 ms | 3652 KiB |
| random_13.txt | AC | 565 ms | 3716 KiB |
| random_14.txt | AC | 556 ms | 3644 KiB |
| random_15.txt | AC | 551 ms | 3640 KiB |
| random_16.txt | AC | 550 ms | 3628 KiB |
| random_17.txt | AC | 566 ms | 3652 KiB |
| random_18.txt | AC | 558 ms | 3668 KiB |
| random_19.txt | AC | 542 ms | 3652 KiB |
| random_integer_00.txt | AC | 552 ms | 3640 KiB |
| random_integer_01.txt | AC | 548 ms | 3716 KiB |
| random_integer_02.txt | AC | 560 ms | 3644 KiB |
| random_integer_03.txt | AC | 560 ms | 3724 KiB |
| random_integer_04.txt | AC | 551 ms | 3624 KiB |
| random_integer_05.txt | AC | 543 ms | 3788 KiB |
| random_integer_06.txt | AC | 557 ms | 3624 KiB |
| random_integer_07.txt | AC | 554 ms | 3712 KiB |
| random_integer_08.txt | AC | 550 ms | 3696 KiB |
| random_integer_09.txt | AC | 568 ms | 3636 KiB |
| sample_01.txt | AC | 545 ms | 3636 KiB |
| sample_02.txt | AC | 543 ms | 3644 KiB |
| sample_03.txt | AC | 567 ms | 3656 KiB |