Submission #73412554
Source Code Expand
Copy
#include <stdio.h>#include <inttypes.h>int N, X, Y;int A[212345];int main(void) {int i;int min = 1010101010;uint64_t ans = 0;if (scanf("%d%d%d", &N, &X, &Y) != 3) return 1;for (i = 0; i < N; i++) {if (scanf("%d", &A[i]) != 1) return 1;if (A[i] < min) min = A[i];}for (i = 0; i < N; i++) {uint64_t delta = A[i] - min;uint64_t delta2;if (delta * Y % (Y - X) != 0) {/* 小さな飴にする数が整数でないので失格 */puts("-1");
#include <stdio.h>
#include <inttypes.h>
int N, X, Y;
int A[212345];
int main(void) {
int i;
int min = 1010101010;
uint64_t ans = 0;
if (scanf("%d%d%d", &N, &X, &Y) != 3) return 1;
for (i = 0; i < N; i++) {
if (scanf("%d", &A[i]) != 1) return 1;
if (A[i] < min) min = A[i];
}
for (i = 0; i < N; i++) {
uint64_t delta = A[i] - min;
uint64_t delta2;
if (delta * Y % (Y - X) != 0) {
/* 小さな飴にする数が整数でないので失格 */
puts("-1");
return 0;
}
delta2 = delta * Y / (Y - X);
if (delta2 > (unsigned int)A[i]) {
/* 個数オーバーで失格 */
puts("-1");
return 0;
}
ans += A[i] - delta2;
}
printf("%" PRIu64 "\n", ans);
return 0;
}
/*
一番飴の数が少ない人を基準とする
調整に関係ない飴はどっちでもいいので、個数最大化のため全部大きな飴とする
飴を1個増やすとどうなるか?
仮に大きい飴を追加するとする
このとき、重量が Y 増えるので、辻褄を合わせるため Y / (Y - X) 個の飴を小さな飴にする
飴を2個増やすとどうなるか?
同様に、大きい飴を2個追加し、2*Y / (Y - X) 個の飴を小さな飴にする
同様に、飴を n 個増やすときは、n*Y / (Y - X) 個の飴を小さな飴にする
この、小さな飴にする数が
・整数でない
・飴の個数をオーバーする
場合、失格
*/
Submission Info
| Submission Time | |
|---|---|
| Task | C - Candy Tribulation |
| User | mikecat |
| Language | C23 (GCC 14.2.0) |
| Score | 350 |
| Code Size | 1467 Byte |
| Status | AC |
| Exec Time | 13 ms |
| Memory | 2548 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 350 / 350 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| 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 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00-sample-01.txt | AC | 1 ms | 1604 KiB |
| 00-sample-02.txt | AC | 0 ms | 1604 KiB |
| 00-sample-03.txt | AC | 0 ms | 1660 KiB |
| 01-01.txt | AC | 6 ms | 1988 KiB |
| 01-02.txt | AC | 2 ms | 1732 KiB |
| 01-03.txt | AC | 8 ms | 2152 KiB |
| 01-04.txt | AC | 8 ms | 2120 KiB |
| 01-05.txt | AC | 9 ms | 2408 KiB |
| 01-06.txt | AC | 13 ms | 2452 KiB |
| 01-07.txt | AC | 13 ms | 2404 KiB |
| 01-08.txt | AC | 13 ms | 2344 KiB |
| 01-09.txt | AC | 13 ms | 2468 KiB |
| 01-10.txt | AC | 13 ms | 2548 KiB |
| 01-11.txt | AC | 12 ms | 2344 KiB |
| 01-12.txt | AC | 12 ms | 2376 KiB |
| 01-13.txt | AC | 9 ms | 2284 KiB |
| 01-14.txt | AC | 13 ms | 2368 KiB |
| 01-15.txt | AC | 12 ms | 2420 KiB |
| 01-16.txt | AC | 12 ms | 2404 KiB |
| 01-17.txt | AC | 12 ms | 2372 KiB |
| 01-18.txt | AC | 13 ms | 2492 KiB |
| 01-19.txt | AC | 11 ms | 2408 KiB |
| 01-20.txt | AC | 13 ms | 2268 KiB |
| 01-21.txt | AC | 12 ms | 2388 KiB |
| 01-22.txt | AC | 12 ms | 2344 KiB |
| 01-23.txt | AC | 12 ms | 2376 KiB |
| 01-24.txt | AC | 12 ms | 2368 KiB |
| 01-25.txt | AC | 10 ms | 2248 KiB |
| 01-26.txt | AC | 7 ms | 2120 KiB |
| 01-27.txt | AC | 11 ms | 2404 KiB |
| 01-28.txt | AC | 10 ms | 2248 KiB |
| 01-29.txt | AC | 12 ms | 2368 KiB |
| 01-30.txt | AC | 12 ms | 2428 KiB |
| 01-31.txt | AC | 8 ms | 2172 KiB |
| 01-32.txt | AC | 13 ms | 2404 KiB |
| 01-33.txt | AC | 13 ms | 2368 KiB |
| 01-34.txt | AC | 10 ms | 2248 KiB |
| 01-35.txt | AC | 12 ms | 2380 KiB |
| 01-36.txt | AC | 12 ms | 2380 KiB |
| 01-37.txt | AC | 7 ms | 2176 KiB |
| 01-38.txt | AC | 13 ms | 2340 KiB |
| 01-39.txt | AC | 12 ms | 2340 KiB |
| 01-40.txt | AC | 10 ms | 2216 KiB |
| 01-41.txt | AC | 9 ms | 2212 KiB |
| 01-42.txt | AC | 7 ms | 2172 KiB |
| 01-43.txt | AC | 12 ms | 2452 KiB |