米斯蒂婭的營業額

兀十三發表於2024-07-20

image

題面描述

米斯蒂婭的夜雀食堂開業啦!

經營時米斯蒂婭若能做出正確滿足顧客詞條需求的菜,即可獲得一定數量的金額,小費與combo(連擊)次數。combo次數越高小費倍率越高,每次獲得combo,小費倍率增加0.1,即時生效於當前訂單,小費倍率最高為0.5。但是,如果沒能讓顧客滿意,不僅收不到錢,還會斷combo(連擊數歸零)。

米斯蒂婭想知道自己一天的營業額是多少,可她是個鳥腦袋,你能幫助她解決這個問題嗎?

小費的數額 = 客人所付的錢 * 小費倍率。

從一位客人身上獲得的錢 = 客人所付的錢 + 小費的數額。

輸入格式

第一行輸入一個整數 n ,表示有 n 個顧客。

接下來 n 行,每行輸入1個整數 x ,為每個顧客付的錢。若為0,則表示顧客不滿意。

輸出格式

輸出一天的營業額,結果保留兩位小數。

資料範圍

\(1 \leq n \leq 100\)
\(0 \leq x \leq 5000\)

輸入樣例

8
80 20 15 66 0 330 600 89

輸出樣例

1422.60

題解

需要額外再開兩個變數記錄combo次數與小費倍率,按題意模擬即可。

#include <bits/stdc++.h>
#include <iostream>
using namespace std;

typedef long long ll;

int n, combo;
double x, rate, res;

int main() {
    cin >> n;
    for (int i = 1; i <= n; ++i) {
        cin >> x;
        if (x) {
            ++combo;
            if (combo >= 5) rate = 0.5;
            else rate += 0.1;
            res += x * (1 + rate);
        }
        else {
            combo = 0;
            rate = 0;
        }
    }
    printf("%.2lf\n", res);
    return 0;
}

相關文章