讨论 / What's wrong?
whlhc888 2010-11-05 23:20:00
点我顶贴 收藏 删除
纪念品分组为什么只过6个点,其他点都多了一;

汗!!

#include<iostream>

using namespace std;

int cmp(const void *p,const void *q){

return *(int *)p-*(int *)q;

}

int main(){

int s=0,f,l,i,n,a[30001],w;

cin>>w;

cin>>n;

for(i=1;i<=n;i++)cin>>a[i];

qsort(a,n,sizeof(a[1]),cmp);

for(f=1,l=n;f<=l;s++){

if(f==l){

s++;

break;

}

if(a[f]+a[l]>w){

if(a[l]<=w){

l--;

}

else {

f++;

}

}

else {

f++;

l--;

}

}

cout<<s<<endl;

return 0;

}

大牛看看

查看更多回复
提交回复