紀念品分組
阿新 • • 發佈:2018-07-13
problem 紀念 clu inline () ont href ron line
紀念品分組
難題不會做,只能來做這種簡單題
當年看起來無比難的題現在竟然如此簡單了
希望有一天能夠看現在的難題也很簡單吧.
- 貪心
- 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; }
紀念品分組