A37 贪心算法 P1094 [NOIP2007 普及组] 纪念品分组

视频链接:87 贪心算法 [NOIP2007 普及组] 纪念品分组_哔哩哔哩_bilibili

 

Luogu P1094 [NOIP2007 普及组] 纪念品分组

// 贪心+排序+双指针 O(nlogn)
#include<bits/stdc++.h>
using namespace std;

int w,n,p[30005];

int main(){
  scanf("%d%d",&w,&n);
  for(int i=1;i<=n;i++)scanf("%d",&p[i]);
  
  sort(p+1,p+n+1);
  
  int i=1, j=n, ans=0;
  while(i<=j){
    if(p[i]+p[j]<=w) 
      i++,j--,ans++; //p[i],p[j]一组
    else
      j--,ans++;     //p[j]一组
  }
  printf("%d",ans);
  return 0;
}

 

posted @ 2023-09-13 07:26  董晓  阅读(206)  评论(0编辑  收藏  举报