• 增进感情


    题目背景

    小明和小红的感情,是慢慢发展起来的。

    题目描述

    他们对对方分别有一个好感值。定义两人的亲密程度为两人的好感值之和。

    如果他们的亲密程度达到V,则他们将走到一起。他们以后的生活将取决于两人的好感值之差的绝对值,这个值越小,他们的生活将越幸福。

    现在,他们对对方的好感值都为0,小明有N件事可以干,每件事可以增加他对小红的好感Ai点,并且增加小红对他的好感Bi点。(可能为负数)

    小明可以任选一些事做,请你帮小明求出怎样才能让他们的生活更加幸福(求出两人在一起的前提下,好感值之差的最小绝对值即可)。

    输入输出格式

    输入格式:

    第1行,两个正整数N,V。

    之后N行,每行两个空格隔开的整数Ai,Bi。

    输出格式:

    一行,一个非负整数,表示两人在一起的前提下,好感值之差的最小绝对值。如果无论如何两人也无法在一起,输出-1.

    输入输出样例

    输入样例#1: 复制
    4 15
    5 6
    -1 8
    7 2
    1 0
    
    输出样例#1: 复制
    3

    说明

    对于20%数据,N<=10。

    对于全部数据,N<=30,|Ai|,|Bi|<=100. 数据比较弱

    #include<bits/stdc++.h>
    #define REP(i, a, b) for(int i = (a); i <= (b); ++ i)
    #define REP(j, a, b) for(int j = (a); j <= (b); ++ j)
    #define PER(i, a, b) for(int i = (a); i >= (b); -- i)
    using namespace std;
    const int maxn=1e5+5;
    template <class T>
    inline void rd(T &ret){
        char c;
        ret = 0;
        while ((c = getchar()) < '0' || c > '9');
        while (c >= '0' && c <= '9'){
            ret = ret * 10 + (c - '0'), c = getchar();
        }
    }
    struct node{
         int tot,div;
    }e[maxn];
    int n,v,p[maxn],dp[maxn],cnt;
    bool comp(node u,node v){
        return u.tot>v.tot;
    }
    int main()
    {
        int now=0x3f3f3f3f;
        rd(n),rd(v);
        REP(i,1,n){
            int s,t;
            cin>>s>>t;
            e[i].tot=s+t,e[i].div=t-s;
            if(s+t>0)cnt+=e[i].tot;
        }
        memset(dp,0x3f3f3f3f,sizeof(dp));
        dp[0]=0;
        sort(e+1,e+1+n,comp);
        REP(i,1,n){
            for(int j=cnt;j>=e[i].tot;j--){
                if(abs(dp[j-e[i].tot]+e[i].div)<abs(dp[j])){
                    dp[j]=dp[j-e[i].tot]+e[i].div;
                    if(dp[j]==0&&j>=v){
                        cout<<0<<endl;
                        return 0;
                    }
                }
            }
        }
        REP(i,v,cnt)if(now>abs(dp[i]))now=abs(dp[i]);
        if(now==0x3f3f3f3f)cout<<-1<<endl;
        else cout<<now<<endl;
        return 0;
    }
  • 相关阅读:
    org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].Standard
    mybatis plus 代码生成器
    ServerU FTP服务器无法上传中文名文件怎么办
    关于java文件下载文件名乱码问题解决方案
    使用Redis模拟简单分布式锁,解决单点故障的问题
    springboot定时任务处理
    AtomicInteger类的理解与使用
    java队列——queue详细分析
    ABAP DEMO so批量导入
    ABAP DEMO ole示例程序
  • 原文地址:https://www.cnblogs.com/czy-power/p/10470097.html
Copyright © 2020-2023  润新知