增进感情

题目背景

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

题目描述

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

如果他们的亲密程度达到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;
}

 

转载于:https://www.cnblogs.com/czy-power/p/10470097.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的体育馆管理系统,源码+数据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本体育馆管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此体育馆管理系统利用当下成熟完善的SpringBoot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线选择试题并完成答题,在线查看考核分数。管理员管理收货地址管理、购物车管理、场地管理、场地订单管理、字典管理、赛事管理、赛事收藏管理、赛事评价管理、赛事订单管理、商品管理、商品收藏管理、商品评价管理、商品订单管理、用户管理、管理员管理等功能。体育馆管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:体育馆管理系统;SpringBoot框架;Mysql;自动化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值