Codeforces 670D1. Magic Powder - 1 暴力
1 second
256 megabytes
standard input
standard output
This problem is given in two versions that differ only by constraints. If you can solve this problem in large constraints, then you can just write a single solution to the both versions. If you find the problem too difficult in large constraints, you can write solution to the simplified version only.
Waking up in the morning, Apollinaria decided to bake cookies. To bake one cookie, she needs n ingredients, and for each ingredient she knows the value ai — how many grams of this ingredient one needs to bake a cookie. To prepare one cookie Apollinaria needs to use all n ingredients.
Apollinaria has bi gram of the i-th ingredient. Also she has k grams of a magic powder. Each gram of magic powder can be turned to exactly 1 gram of any of the n ingredients and can be used for baking cookies.
Your task is to determine the maximum number of cookies, which Apollinaria is able to bake using the ingredients that she has and the magic powder.
The first line of the input contains two positive integers n and k (1 ≤ n, k ≤ 1000) — the number of ingredients and the number of grams of the magic powder.
The second line contains the sequence a1, a2, ..., an (1 ≤ ai ≤ 1000), where the i-th number is equal to the number of grams of the i-th ingredient, needed to bake one cookie.
The third line contains the sequence b1, b2, ..., bn (1 ≤ bi ≤ 1000), where the i-th number is equal to the number of grams of the i-th ingredient, which Apollinaria has.
Print the maximum number of cookies, which Apollinaria will be able to bake using the ingredients that she has and the magic powder.
3 1
2 1 4
11 3 16
4
4 3
4 3 5 6
11 12 14 20
3
In the first sample it is profitably for Apollinaria to make the existing 1 gram of her magic powder to ingredient with the index 2, then Apollinaria will be able to bake 4 cookies.
In the second sample Apollinaria should turn 1 gram of magic powder to ingredient with the index 1 and 1 gram of magic powder to ingredient with the index 3. Then Apollinaria will be able to bake 3 cookies. The remaining 1 gram of the magic powder can be left, because it can't be used to increase the answer.
题目链接:http://codeforces.com/problemset/problem/670/D1
题意:做一个饼干需要有n种材料,每种材料需要ai克。现在每种材料有bi克。还有k克神奇材料,可以代替那n种材料。1克神奇材料替换1克普通材料。
#include<bits/stdc++.h>
using namespace std;
struct ingredient
{
int a,b,num,sign;
} gg[];
int add[];
int cmp(ingredient x,ingredient y)
{
if(x.num!=y.num) return x.num<y.num;
else return x.sign<y.sign;
}
int main()
{
int i,j,n,k;
scanf("%d%d",&n,&k);
for(i=; i<=n; i++)
scanf("%d",&gg[i].a);
for(i=; i<=n; i++)
{
scanf("%d",&gg[i].b);
gg[i].num=gg[i].b/gg[i].a;
gg[i].sign=gg[i].b%gg[i].a;
}
sort(gg+,gg+n+,cmp);
gg[n+].num=gg[n].num+;
gg[n+].sign=;
int sum=,flag=;
add[]=;
for(i=; i<=n; i++)
{
sum+=gg[i].a;
flag+=gg[i].sign;
if(gg[i].num<gg[i+].num)
{
add[i]=add[i-]+sum*(gg[i+].num-gg[i].num)-flag;
if(add[i]>=k)
{
k-=add[i-];
cout<<gg[i].num+(k+flag)/sum<<endl;
break;
}
flag=;
}
else add[i]=add[i-];
}
if(i>n)
{
k-=add[n];
cout<<gg[n+].num+k/sum;
}
return ;
}
每次增加num就进行sort排序:
#include<bits/stdc++.h>
using namespace std;
int a[],b;
struct ingredient
{
int a,b,num;
} gg[];
int cmp(ingredient x,ingredient y)
{
return x.num<y.num;
}
int main()
{
int i,n,k;
scanf("%d%d",&n,&k);
for(i=; i<n; i++)
scanf("%d",&gg[i].a);
for(i=; i<n; i++)
{
scanf("%d",&gg[i].b);
gg[i].num=gg[i].b/gg[i].a;
}
sort(gg,gg+n,cmp);
while(k>)
{
int sign=(gg[].num+)*gg[].a;
if((sign-gg[].b)<=k)
{
k-=(sign-gg[].b);
gg[].b=sign;
gg[].num++;
}
else
{
gg[].b+=k;
k=;
}
sort(gg,gg+n,cmp);
}
cout<<gg[].num<<endl;
return ;
}
Codeforces 670D1. Magic Powder - 1 暴力的更多相关文章
- CodeForces 670D2 Magic Powder 二分
D2. Magic Powder - 2 The term of this problem is the same as the previous one, the only exception — ...
- Codeforces 632F - Magic Matrix(暴力 bitset or Prim 求最小生成树+最小瓶颈路)
题面传送门 开始挖老祖宗(ycx)留下来的东西.jpg 本来想水一道紫题作为 AC 的第 500 道紫题的,结果发现点开了道神题. 首先先讲一个我想出来的暴力做法.条件一和条件二直接扫一遍判断掉.先将 ...
- CodeForces 670D Magic Powder
二分. 二分一下答案,然后验证一下. #pragma comment(linker, "/STACK:1024000000,1024000000") #include<cst ...
- CodeForces 670D2 Magic Powder - 2 (二分)
题意:今天我们要来造房子.造这个房子需要n种原料,每造一个房子需要第i种原料ai个.现在你有第i种原料bi个.此外,你还有一种特殊的原料k个, 每个特殊原料可以当作任意一个其它原料使用.那么问题来了, ...
- CodeForces 670D1 暴力或二分
今天,开博客,,,激动,第一次啊 嗯,,先来发水题纪念一下 D1. Magic Powder - 1 This problem is given in two versions that diff ...
- Codeforces Round #350 (Div. 2) D1. Magic Powder - 1 二分
D1. Magic Powder - 1 题目连接: http://www.codeforces.com/contest/670/problem/D1 Description This problem ...
- Codeforces Round #350 (Div. 2)_D2 - Magic Powder - 2
D2. Magic Powder - 2 time limit per test 1 second memory limit per test 256 megabytes input standard ...
- codeforces 350 div2 D Magic Powder - 2 二分
D2. Magic Powder - 2 time limit per test 1 second memory limit per test 256 megabytes input standard ...
- Magic Powder - 2 (CF 670_D)
http://codeforces.com/problemset/problem/670/D2 The term of this problem is the same as the previous ...
随机推荐
- python之路07文件处理
一 操作文件的方法: f.read() #读取所有内容,光标移动到文件末尾 f.readline() #读取一行内容,光标移动到第二行首部 f.readlines() #读取每一行内容,存放于列 ...
- Android SDK的安装与环境配置
一.Android SDK工具下载.安装 Android SDK工具下载:http://www.androiddevtools.cn/ SDK下载页面如下,由于电脑Windows系统所以下载的Wind ...
- python之匿名函数和递归函数
递归函数 <1>什么是递归函数 通过前面的学习知道一个函数可以调用其他函数. 如果一个函数在内部不调用其它的函数,而是自己本身的话,这个函数就是递归函数. <2>递归函数的作用 ...
- zabbix 监控windows端cpu使用率百分比
参考网站:http://www.fyluo.com/?post=108 zabbix自带的模版没有CPU使用率(百分比)这个监控项,那么我们可以通过添加计数器的方式实现CPU百分比的监控. 在zabb ...
- Activity服务类-5 IdentityService服务类
一.内置用户组(角色)设计表概念 用户和组(或者叫做角色),多对多关联,通过关联表实现 act_id_user 用户表: act_id_group 用户组表: act_id_membership 用户 ...
- 面向过程中的局部变量(global)
1.school = 'oldboy.edu' def change_name(name): school = " Mage Linux" # 局 ...
- ABAP-HTTP发送JSON
1. HTTP发送JSON格式数据: function zap_01_url_sap_to_c3 . *"------------------------------------------ ...
- 使用JavaScript的XMLHttpRequest发送POST、GET请求以及接收返回值
使用XMLHttpRequest对象分为4部完成: 1.创建XMLHttpRequest组建 2.设置回调函数 3.初始化XMLHttpRequest组建 4.发送请求 实例代码: [javascri ...
- LESS CSS 实例
值得参考的 10 个 LESS CSS 实例 2 收藏(185) LESS, Sass 和其他 CSS 预处理器是一种超棒的方法用来扩展 CSS 功能,使之更适合程序员.你可以使用变量.函数.混合 ...
- linux查看网卡驱动
[root@hudson ~]# yum install ethtool -y [root@hudson ~]# ethtool -i em1driver: bnx2version: 2.2.3fir ...