Codeforces4B--区间必选背包

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#include <string.h>
#include <iostream>
#include <vector>
#include <list>
#include <stack>
#include <queue>
#include <map>
#include <set>
#include <algorithm>

typedef short int int16;///32767
typedef int int32;///2147483647
typedef long long int64;///9223372036854775807
const double PI=acos(-1.0);///3.141593
const long long MOD=(long long)1E9+7LL;///1000000007
int isdigit(int c);int islower(int c);int isupper(int c);
int tolower(int c);int toupper(int c);
template <class T> T Susake_pow(T a,T b)///pow
{T res;if(b==0) return 1;else while((b&1)==0){b>>=1;a*=a;}res=a;b>>=1;while(b!=0){a*=a;if((b&1)!=0)res*=a;b>>=1;}return res;}
template<class T> inline T gcd(T a,T b)///gcd
{if(a<0)return gcd(-a,b);if(b<0)return gcd(a,-b);return (b==0)?a:gcd(b,a%b);}
template<class T> inline T lcm(T a,T b)///lcm
{if(a<0)return lcm(-a,b);if(b<0)return lcm(a,-b);return a*(b/gcd(a,b));}
template<class T> inline char *Susake_nsystem(T n)///itoa(26)
{T t=0,i;char *s,*p;s=(char *)malloc(sizeof(char)*1000);p=(char *)malloc(sizeof(char)*1000);
while(n){s[t]=n%26+64;if(s[t]==64){s[t]+=26;n-=26;}t++;n/=26;}s[t]=‘\0‘;for(i = 0; i < t; i++)p[i]=s[t-1-i];p[i]=‘\0‘;free(s);return p;}
int Susake_system(char *s)///atoi(26)
{int len=strlen(s),i,sum=0;char p[1000];for(i=0;i<len;i++)p[i]=s[len-1-i]-64;for(i=0;i<len;i++)sum+=p[i]*Susake_pow(26,i);return sum;}
int fa[1];
template <class T> T union_find(T x)///union_find
{return fa[x] == x ? x : fa[x] = union_find(fa[x]);}

const int maxn = 105;
const int maxm = 10005;

int a[maxn], b[maxn], ans[maxn];

int main() {
    int n, sum;
    int s1 = 0, s2 = 0;
    scanf ("%d %d", &n, &sum);
    for (int i = 0; i < n; i++)
        scanf ("%d %d", &a[i], &b[i]), s1 += a[i], s2 += b[i];
    if (s1 > sum || s2 < sum)
        printf ("NO\n");
    else
    {
        printf ("YES\n");
        for (int i = 0; i < n; i++)
            ans[i] = a[i], sum -= a[i];
        for (int i = 0; i < n && sum; i++)
        {
            while (ans[i] < b[i] && sum)
            {
                ans[i]++;
                sum--;
            }
        }
        for (int i = 0; i < n; i++)
        {
            if (i)
                printf (" ");
            printf ("%d", ans[i]);
        }
        printf ("\n");
    }
    return 0;
}
时间: 2024-10-13 06:05:16

Codeforces4B--区间必选背包的相关文章

ASP.NET MVC验证标注的扩展-checkbox必选

我们知道ASP.NET mvc提供一些表单的验证标注,比如必填属性RequiredAttribute 但是这个属性不适合选择框的必选 但是很多时候,我们却是需要一些必选的单选框 比如网站注册的时候,需要用户同意网站的一些规定等等 为此,我封装了一个BooleanRequiredAttribute的标注类, 该类可以标注那些框必填 具体类如下: public class BooleanRequiredAttribute : ValidationAttribute, IClientValidatab

创业后期的新鲜好投资 必选微信营销

99%的人不知道的微信秘密!微信里的商机.仿乐享微信源码分享,把你的生意做到微信里. WeiKuCMS  (微酷CMS)功能特点:人工客服新功能正式上线!粉丝行为分析.渠道二维码生成.二维码折扣,微菜单,微统计,会员卡签到,微会员,刮刮卡,大转盘,优惠券,积分兑换,微官网,砸金蛋,微调研,微投票,微相册,微商城,微团购,微留言,微喜帖,商家入驻,微门店,微餐饮,微酒店,微教育,微物业,微医疗,微信墙,微花店,微美容,微生活.  去官网,你会发现更多新鲜的功能,只有想不到没有做不到!!! 微信公共

redhat自定义安装必选

redhat自定义安装必选 1.桌面 ked桌面 x 窗口系统 2.应用程序 编辑器 基于文本的互联网 图形互联网 3.服务器 服务器配置工具 万维网服务器 Windows文件 FTP服务器

python-在定义函数时,不定长参数中,默认值参数不能放在必选参数前面

如果一个函数的参数中含有默认参数,则这个默认参数后的所有参数都必须是默认参数,否则会报错:SyntaxError: non-default argument follows default argument 例如: #-*- coding:utf-8 -*-def test(a=11,b,c): #默认值参数不能放在必选参数前面    print(a)    print(b)    print(c)    test(11,22,33) 改正: #-*- coding:utf-8 -*- def

Python 必选参数,默认参数,可变参数,关键字参数和命名关键字参数

Py的参数还真是多,用起来还是很方便的,这么多参数种类可见它在工程上的实用性还是非常广泛的. 挺有意思的,本文主要参照Liaoxuefeng的Python教程. #必选参数 def quadratic(a, b, c): if not isinstance(a, (int, float)) or not isinstance(b, (int, float)) or not isinstance(c, (int, float)): raise TypeError('bad operand type

js 判断 复选框全选、全不选、反选、必选一个

一个挺 使用的 js 代码片段,  判断  复选框全选.全不选.反选.必选一个 记录下, 搬来的 思路: 修改数据的 选中与否状态, 拿到所有的输入框,看是否有选中的状态 <html> <head> <title> 复选框全选.全不选.反选.必选一个 </title> <meta http-equiv="content-type" content="text/html;charset=GBK"/> <

年度必选:2017微软技术暨生态大会!

这是微软中国年度最盛大的科技峰会 这是微软技术大会与合作伙伴大会的首次联袂 这也是聚集众多IT大咖的技术狂欢派对 不管你是关心企业转型的业务决策者 还是紧跟技术趋势的技术决策者 亦或是致力于激发澎湃动力的IT专业人士 代码朝夕相处的程序员 加班加点的工程师 也或是科技新媒体的文人骚客 Microsoft Tech Summit 2017 微软技术暨生态大会 是您的年度必选! 为何参加 善思者智 思考技术的价值与潜力,融会贯通,从而获得最佳实践 善变者灵 切合数字化转型的趋势,转变思路,始终游走于

参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。

在Python中定义函数,可以用必选参数.默认参数.可变参数.关键字参数和命名关键字参数,这5种参数都可以组合使用.但是请注意,参数定义的顺序必须是:必选参数.默认参数.可变参数.命名关键字参数和关键字参数. Python的函数具有非常灵活的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数. 默认参数一定要用不可变对象,如果是可变对象,程序运行时会有逻辑错误! 要注意定义可变参数和关键字参数的语法: *args是可变参数,args接收的是一个tuple: **kw是关键字参数,kw接收的

VUE新版扫码下单必选分类设置FAQ

使用场景:商家想要设置某些分类下的商品设置必选,否则不能下单.如某火锅店,商家想要设置汤底这个分类下的商品,顾客扫码下单的时候必须选择一份才能下单,此时 就可以使用这个功能 配置步骤和注意事项如下: 配置步骤(这里的分类以"主食"为例): 一.登录新商家中心("必选分类"这个功能配置仅在新商家中心支持,老版商家后台不支持) 1.商品管理--开台设置--开台分类--点击添加开台必选分类 2.分类下商品必选份数和选择分类配置: 如下图所示:我设置"分类下商品必