poj 2184 Cow Exhibition

poj 2184 Cow Exhibition,第1张

poj 2184 Cow Exhibition
#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;#define maxn 105#define maxs 2000 * 100#define shift 1000 * 100#define inf 0x3f3f3f3fint n, s[maxn], f[maxn];int dp[maxs];void input(){    scanf("%d", &n);    for (int i = 0; i < n; i++)        scanf("%d%d", &s[i], &f[i]);}void work(){    for (int i = 0; i < maxs; i++)        dp[i] = -inf;    dp[0 + shift] = 0;    int l = 0, r = 0;    for (int i = 0; i < n; i++)    {        l = min(l, l + s[i]);        r = max(r, r + s[i]);        int step = 1;        int begin = l, end = r;        if (s[i] > 0)        { step = -1; swap(begin, end);        }        for (int j = begin; j != end + step; j += step)        { dp[j + shift] = max(dp[j - s[i] + shift] + f[i], dp[j + shift]);        }    }    int ans = 0;    for (int i = 0; i <= r; i++)        if (dp[i + shift] >= 0) ans = max(ans, i + dp[i + shift]);    printf("%dn", ans);}int main(){    input();    work();    return 0;}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4925863.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-12
下一篇2022-11-13

发表评论

登录后才能评论

评论列表(0条)

    保存