大佬康康,感觉思路一样,一个AC,一个30
查看原帖
大佬康康,感觉思路一样,一个AC,一个30
634119
DragonMeng楼主2022/1/28 17:51
#include<bits/stdc++.h>
using namespace std;
bool cmp(int a,int b)
{
	return a>b;
}
int main(void)
{
     int m,n;
     cin>>m>>n;
     int a[n];
     for(int i=0;i<n;i++) cin>>a[i];
     sort(a,a+n,cmp);
     int j=n-1,sum=0,i=0;
     while(i<=j)
     {
       if(i==j) 
       {
       	 i++;
       	 j--;
       	 sum++;
	   }
       else if(a[i]+a[j]<=m)
       {
          i++;
          j--;
          sum++;
       }
       else if(a[i]+a[j]>m)
       {
            i++;
            sum++;
       }
     }
	cout<<sum;
}
```这个是AC代码
```cpp

```	#include<bits/stdc++.h>
using namespace std;
bool cmp(int a,int b)
{
	return a>b;
}
int main(void)
{
     int m;
     cin>>m;
     int  n;
     cin>>n;
     int a[n];
     for(int i=0;i<n;i++) cin>>a[i];
     sort(a,a+n,cmp);
     int j=n-1,sum=0,x=0,y=0;
    for(int i=0;i<n;i++) 
    {
    	if(i==j)
		{
			sum++;
			break;
		}
    		if(a[i]+a[j]<=m)
     	{
     	   sum++;
		   j--;	
		}
	else if(a[i]+a[j]>m)
	{
		sum++;
	}
	}
	cout<<sum;
}
这个是30分代码(也能过样本6)

混子不是很清楚whilefor的差别,感觉思路都一样,不知道为什么for过不了

2022/1/28 17:51
加载中...