luyencode / comments

Server lưu trữ bình luận trên Luyện Code
https://luyencode.net
6 stars 3 forks source link

https://oj.luyencode.net/problem/DISCOUNT #654

Open utterances-bot opened 2 years ago

utterances-bot commented 2 years ago

Mua 3 tặng 1 - Luyện Code Online

https://luyencode.net/problem/DISCOUNT

huydh1900 commented 2 years ago

Tham khảo: https://luyencode.net/status/e2cf729e21ef5719a0844163cfe5f635?problem=DISCOUNT

Lewzxje commented 2 years ago

Mn đi qua cho e xin ý tưởng bài này với ạ!!

lightx26 commented 2 years ago

Ý tưởng là cứ lấy hai cái rẻ nhất sẽ đc free một cái đắt nhất, nghĩa là không cần trả tiền cho [n/3] món đồ đắt nhất, sort mảng rồi cộng giá các món đồ cần mua lại là đc

danh2006 commented 2 years ago

Đây là lời giải của mình đã AC. Nếu bạn đã cố gắng mà chưa làm được thì có thể tham khảo lời giải của mình.

Xem code AC

#include #include #define ll long long using namespace std; int cmp(const void *a, const void *b){ return *(ll*)b-*(ll*)a; } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); ll n; cin >> n; ll a[n], sum2 = 0, sum = 0; for(int i=0;i> a[i]; sum+=a[i]; } qsort(a, n, sizeof(ll), cmp); for(int i=0;i