P1094 [NOIP2007 普及组] 纪念品分组 贪心
P1094 [NOIP2007 普及组] 纪念品分组
如果当前的最小物品+最大物品不超过上限,这两个物品合并,如果不行最大物品只能单独为一件不能与其它的任何一个合并,这样合并最后就是最少的分组。本题用到的知识点有,排序,双指针,贪心思想。
//P1094 纪念品分组 #include#include #include using namespace std; vector jkp; int w,n; int main() { cin>>w; cin>>n; for (int i=1;i<=n;i++) { int x; cin>>x; jkp.push_back(x); } sort(jkp.begin(),jkp.end()); int i=0,j=jkp.size()-1; int ans=0; while(i<=j) { if (jkp[i]+jkp[j]<=w) { ans++;i++;j--; } else { ans++;j--; } } cout<