codeforces#236_div2_A nuts 贪心
题目地址:cf#236_div2_A
题目大意:
给你四个数
k,a,b,v; k代表每个隔间最多不能超过的数目 ,a是果子个数,b是有多少隔板数量,v是一个隔板最多能装多少
现在问你,要把所有nuts放进去,最少需要多少boxes
简单的贪心,我们用这些隔板去装配boxes,看b能分成多少个k-1 份,每一个box就是k*v这么大的容量。
然后多余的b%(k-1) 个给最后一个box
其余的box都是v
然后b慢慢减
代码:
#include<iostream>
#include<vector>
using namespace std;
vector<int> size;
int main()
{
int k,a,b,v;
cin>>k>>a>>b>>v;
for(int i=0;i<b/(k-1);i++)
size.push_back(k*v);
size.push_back((b%(k-1)+1)*v);
for(int i=0;i<1000;i++)
size.push_back(v);
int ans=0;
for(int i=0;i<1000;i++)
{
if(a<=size[i])
{
ans++;
break;
}
else
{
a-=size[i];
ans++;
}
}
cout<<ans<<endl;
}
posted on 2014-03-17 02:21 814jingqi的ACM 阅读(151) 评论(0) 收藏 举报
浙公网安备 33010602011771号