Codeforces 2020 ICPC 1425E Excitación de átomos

Enlace de tema

1425E

responder

Título

¡simulación! ¡Son muchas simulaciones!

Ideas

Discutir por situación.
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Código AC

#include <bits/stdc++.h>

using namespace std;
using ll = long long;
#define INF (0x3f3f3f3f)
int const N = 1e5 + 10;
int n, k;
ll a[N], d[N];
ll suf[N];
ll pre[N];
int minval, minvalpos;
int mincost, mincostpos;

int main() {
    
    
#ifndef ONLINE_JUDGE
    freopen("input.txt", "r", stdin);
#endif
    minval = INF;
    mincost = INF;

    scanf("%d%d", &n, &k);
    for (int i = 1; i <= n; i++) {
    
    
        scanf("%lld", &a[i]);
        if (i != 1 && i != n) {
    
    
            if (a[i] < minval) {
    
    
                minval = a[i];
                minvalpos = i;
            }
        }
        if (i == 1) pre[i] = a[i];
        else pre[i] = pre[i - 1] + a[i];
    }
    for (int i = 1; i <= n; i++) {
    
    
        scanf("%lld", &d[i]);
        if (i != n) {
    
    
            if (d[i] < mincost) {
    
    
                mincost = d[i];
                mincostpos = i;
            }
        }
        suf[i] = pre[n] - pre[i - 1];
    }

    if (k >= 2) {
    
    
        printf("%lld\n", max(0LL, max(pre[n] - mincost, a[n] - d[n])));
    } else if (k == 0) {
    
    
        ll ans = 0;
        for (int i = 1; i <= n; i++) {
    
    
            ans = max(ans, suf[i] - d[i]);
        }
        printf("%lld\n", ans);
    } else {
    
    
        ll curMinCost = INF;
        ll cir = -INF, li = -INF;
        ll ans = 0LL;
        for (int i = 1; i < n; i++) {
    
    
            curMinCost = min(curMinCost, d[i]);
            cir = pre[i] - curMinCost;
            li = suf[i + 1] - d[i + 1];
            ans = max(li + cir, max(ans, max(li, cir)));
        }
        printf("%lld\n", max(0LL, max(ans, pre[n] - minval - d[1])));
    }
    return 0;
}

Supongo que te gusta

Origin blog.csdn.net/qq_45934120/article/details/108897464
Recomendado
Clasificación