ans

liqingyu 2023-07-28 16:21:01 13 返回题目

运用二分做这题

#include<bits/stdc++.h>

using namespace std;

int a[1000000];

int main(){

int n,m,sum=0;

cin>>n>>m;

for(int i=1;i<=m;i++)

scanf("%d",&a[i]);

sort(a+1,a+m+1);

int l=1,r=m;

while(l<=r){

if(a[l]+a[r]<=n)

l++,r--,sum++;

else

r--,sum++;

}

cout<<sum;

return 0;

}

{{ vote && vote.total.up }}