Gửi bài giải
Điểm:
800 (OI)
Giới hạn thời gian:
2.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
Ada, Assembly, Awk, Brain****, C, C#, C++, COBOL, D, Dart, F#, Forth, Fortran, Go, Groovy, Haskell, Intercal, Java, JS, Kotlin, Lisp, Lua, ObjC, OCaml, Pascal, Perl, PHP, Pike, Prolog, PyPy, Python, Racket, Ruby, Rust, Scala, Scheme, Scratch, Sed, Swift, TCL, Turing, VB, Zig
Mùa hè năm 2024 là mùa hè cuối cùng và nhiều kỉ niệm nhất của
ở Việt Nam, vì sau đó cậu sẽ đi du học một thời gian khá dài. sẽ kết được nhiều bạn mới và có nhiều trải nghiệm hơn ở vùng đất xa quê, đổi lại thì cậu sẽ hiếm khi có cơ hội được gặp mặt với những người bạn thân yêu. Vì vậy, trước khi đi sẽ tặng cho những người bạn mình một thùng quà gồm nhiều hộp quà kỉ niệm nhỏ nhằm để các bạn luôn nhớ về cậu ấy.Ban đầu, số hộp quà trong một thùng quà sẽ khác nhau tùy theo mức độ thân thiết của
với người bạn đó. Tuy nhiên những người bạn của quen biết nhau và có thể sinh lòng đố kị khi người khác nhận được nhiều quà hơn mình. Vì vậy cậu quyết định thêm hoặc bớt số quà trong một số thùng quà để tất cả thùng quà đều có số hộp quà giống nhau. Thật không may là đã đóng gói tất cả kiện hàng nên khi muốn thêm hoặc bớt một hộp quà trong một kiện hàng sẽ tốn chi phí nhất định.Bạn hãy giúp
tìm chi phí nhỏ nhất để làm cho tất cả thùng quà của cậu ấy có số hộp quà bằng nhau.- Dòng đầu tiên chứa số nguyên
là số thùng quà đã chuẩn bị. - Dòng tiếp theo chứa
số nguyên, cho biết thùng quà thứ có hộp quà. - Dòng cuối cùng chứa
số nguyên, cho biết chi phí thêm hoặc bớt một hộp quà trong thùng quà thứ là .
- Gồm một số nguyên duy nhất là chi phí ít nhất để các thùng quà có số hộp quà bằng nhau.
Copy
4
1 2 3 2
5 2 2 1
Copy
7
. . .
- Subtask
( ): . - Subtask
( ): . - Subtask
( ): .
- Chi phí để đưa tất cả thùng quà về còn
món quà là: . - Có thể chứng minh rằng đây là cách làm tối ưu nhất.
Bình luận
include <bits/stdc++.h>
using namespace std; inline int readInt() { int x = 0; int c = getcharunlocked(); while(c < ‘0’ || c > ‘9’) c = getcharunlocked(); while(c >= ‘0’ && c <= ‘9’){ x = x * 10 + (c - ‘0’); c = getcharunlocked(); } return x; } string toString(int128 x) { if(x == 0) return “0”; string s; while(x > 0){ s.pushback(’0’ + (int)(x % 10)); x /= 10; } reverse(s.begin(), s.end()); return s; }
int main(){ int n = readInt();
} ooi voi minh bai nay kha co ban day la code moi nguoi tam khao