纪念品分组
Posted zhinv
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了纪念品分组相关的知识,希望对你有一定的参考价值。
纪念品分组
难题不会做,只能来做这种简单题
当年看起来无比难的题现在竟然如此简单了
希望有一天能够看现在的难题也很简单吧.
- 贪心
- front 指向最前,rear 指向最后,如果 p[front]+p[rear] (leq) w,则归到一组,否则 p[front] 单独一组
#include <cstdio>
#include <algorithm>
using namespace std;
const int MAXN=3e4+5;
int p[MAXN];
int main()
{
int w,n;
scanf("%d",&w);
scanf("%d",&n);
for(int i=1;i<=n;i++)scanf("%d",&p[i]);
sort(p+1,p+n+1);
int cnt=0,front=1,rear=n;
while(front<=rear){
if(front==rear){
cnt++;
break;
}
if(p[front]+p[rear]<=w){
cnt++;
front++;rear--;
}
else{
cnt++;
rear--;
}
}
printf("%d",cnt);
return 0;
}
以上是关于纪念品分组的主要内容,如果未能解决你的问题,请参考以下文章