1. 程式人生 > >Codeforces 1119E(貪心)

Codeforces 1119E(貪心)

() lan 貪心 target 題目 n) return else href

題目傳送

貪心方法

按邊從小到大掃,先湊3個,沒湊足的記錄一下數量,後面大的優先跟這些湊,倆帶走一個,多余的再湊3個,再……就這樣走到最後即可。

const int maxn = 3e5 + 5;
int n;
ll ans, last;

int main() {
    read(n);
    rep(i, 1, n) {
        int a;
        read(a);
        if (a >= last * 2)  a -= last * 2, ans += last, last = 0;
        else    ans += a / 2, last -= a / 2, a %= 2;
        ans += a / 3;
        a %= 3;
        last += a;
    }
    writeln(ans);
    return 0;
}

Codeforces 1119E(貪心)