20分求助,最后两个点T

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

```cpp // luogu-judger-enable-o2 #include<iostream> #include<algorithm> using namespace std; int j[66666],ans; int main(){ int w,n; cin>>w>>n; for(int i=0;i<n;i++){ cin>>j[i]; } sort(j,j+n); int z=0,y=n-1; while(z<=y){ if(j[z]+j[y]<=w){ ans++; z++; y--; } else{ y--; ans++; } } cout<<ans<<endl; return 0; } ```
by JAMERES86 @ 2018-07-12 09:57:54


还有,你的代码只能得20分啊
by JAMERES86 @ 2018-07-12 10:01:04


###### 而且,既然你都把数组排序了,为什么还要把所有情况都枚举啊,直接让目前最大和最小的分组岂不更好
by JAMERES86 @ 2018-07-12 10:07:11


```cpp Z是当前最便宜的纪念品编号,Y是最贵的 while程序段的解释是: 当有尚未分组的纪念品时{ 如果最便宜与最贵的纪念品能够分为一组{ 组数加一; 将最便宜与最贵纪念品移走分组; }如果不能分组{ 组数加一; 将最贵纪念品移走分组; } } ```
by JAMERES86 @ 2018-07-12 10:16:22


大佬%%%谢谢qwq
by 爱晚亭哦 @ 2018-07-12 11:06:30


|