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 阅读(143) 评论(0) 编辑 收藏 举报