提出 #70988448
ソースコード 拡げる
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll gcd(ll a, ll b)
{
while (b)
{
ll r = a % b;
a = b;
b = r;
}
return a;
}
int main()
{
int n;
ll x, y;
cin >> n >> x >> y;
vector<ll> a(n);
for (int i = 0; i < n; ++i)
cin >> a[i];
ll d = y - x;
ll g = gcd(x, d);
ll dp = d / g;
ll xp = x / g;
for (int i = 1; i < n; ++i)
{
if (a[i] % dp != a[0] % dp)
{
cout << -1 << "\n";
return 0;
}
}
vector<ll> b(n);
ll l = 0;
ll r = 2e18;
ll sum = 0;
for (int i = 0; i < n; ++i)
{
ll diff = a[0] - a[i];
ll k = diff / dp;
b[i] = xp * k;
sum += b[i];
ll li = -b[i];
ll ri = (ll)a[i] - b[i];
if (li > l)
l = li;
if (ri < r)
r = ri;
}
if (l > r)
{
cout << -1 << "\n";
return 0;
}
cout << n * r + sum << "\n";
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | C - Candy Tribulation |
| ユーザ | Hacker_ |
| 言語 | C++23 (GCC 15.2.0) |
| 得点 | 350 |
| コード長 | 1095 Byte |
| 結果 | AC |
| 実行時間 | 60 ms |
| メモリ | 6520 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 350 / 350 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt |
| All | 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt, 01-31.txt, 01-32.txt, 01-33.txt, 01-34.txt, 01-35.txt, 01-36.txt, 01-37.txt, 01-38.txt, 01-39.txt, 01-40.txt, 01-41.txt, 01-42.txt, 01-43.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00-sample-01.txt | AC | 1 ms | 3576 KiB |
| 00-sample-02.txt | AC | 1 ms | 3468 KiB |
| 00-sample-03.txt | AC | 1 ms | 3492 KiB |
| 01-01.txt | AC | 27 ms | 4016 KiB |
| 01-02.txt | AC | 8 ms | 3652 KiB |
| 01-03.txt | AC | 33 ms | 4272 KiB |
| 01-04.txt | AC | 36 ms | 4304 KiB |
| 01-05.txt | AC | 22 ms | 6320 KiB |
| 01-06.txt | AC | 60 ms | 6504 KiB |
| 01-07.txt | AC | 56 ms | 6452 KiB |
| 01-08.txt | AC | 56 ms | 6432 KiB |
| 01-09.txt | AC | 56 ms | 6440 KiB |
| 01-10.txt | AC | 56 ms | 6468 KiB |
| 01-11.txt | AC | 56 ms | 6444 KiB |
| 01-12.txt | AC | 56 ms | 6440 KiB |
| 01-13.txt | AC | 42 ms | 5556 KiB |
| 01-14.txt | AC | 56 ms | 6468 KiB |
| 01-15.txt | AC | 56 ms | 6504 KiB |
| 01-16.txt | AC | 51 ms | 6064 KiB |
| 01-17.txt | AC | 56 ms | 6488 KiB |
| 01-18.txt | AC | 56 ms | 6320 KiB |
| 01-19.txt | AC | 49 ms | 6064 KiB |
| 01-20.txt | AC | 55 ms | 6520 KiB |
| 01-21.txt | AC | 56 ms | 6460 KiB |
| 01-22.txt | AC | 52 ms | 6188 KiB |
| 01-23.txt | AC | 56 ms | 6440 KiB |
| 01-24.txt | AC | 56 ms | 6448 KiB |
| 01-25.txt | AC | 44 ms | 4528 KiB |
| 01-26.txt | AC | 30 ms | 4908 KiB |
| 01-27.txt | AC | 46 ms | 4600 KiB |
| 01-28.txt | AC | 41 ms | 5544 KiB |
| 01-29.txt | AC | 55 ms | 6468 KiB |
| 01-30.txt | AC | 55 ms | 6468 KiB |
| 01-31.txt | AC | 36 ms | 5308 KiB |
| 01-32.txt | AC | 55 ms | 6488 KiB |
| 01-33.txt | AC | 56 ms | 6320 KiB |
| 01-34.txt | AC | 43 ms | 5724 KiB |
| 01-35.txt | AC | 55 ms | 6452 KiB |
| 01-36.txt | AC | 55 ms | 6400 KiB |
| 01-37.txt | AC | 31 ms | 5040 KiB |
| 01-38.txt | AC | 55 ms | 6444 KiB |
| 01-39.txt | AC | 56 ms | 6460 KiB |
| 01-40.txt | AC | 44 ms | 4548 KiB |
| 01-41.txt | AC | 41 ms | 4520 KiB |
| 01-42.txt | AC | 32 ms | 4224 KiB |
| 01-43.txt | AC | 54 ms | 4824 KiB |