QvQ


私信TA

用户名:927937414

访问量:30536

签 名:

还是好好学习吧

等  级
排  名 79
经  验 9650
参赛次数 9
文章发表 44
年  龄 19
在职情况 学生
学  校
专  业 软件工程

  自我简介:

还没学算法的弱鸡

TA的其他文章

解题思路:大水题没什么好说的

注意事项:不懂请留言!

参考代码:

#include <bits/stdc++.h>
using namespace std;
int n,k;
int const maxn=30000+10;
int a[maxn],flag[maxn];
int cmp(int a,int b){
	return a>b;
}
int main(){
	cin>>k>>n;
	for(int i=1;i<=n;i++)
		cin>>a[i];
	sort(a+1,a+n+1,cmp);
	int i=1,j=n,ans=0;
	while(1){
		if(flag[i]==1)
			break;
		if(a[i]+a[j]<=k){
			flag[i++]=1;
			flag[j--]=1;
			ans++;
		}
		else{
			flag[i++]=1;
			ans++;
		}
	}
	cout<<ans<<endl;
	return 0;
}


 

0.0分

7 人评分

  评论区

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int max,num,sum=0,t=0;
	cin>>max>>num;
	int a[num];
	for(int i=0;i<num;i++)
	{
		cin>>a[i];
	}
	sort(a,a+num);
	for(int i=0;i<=num-1;)
	{

		if(a[i]+a[num-1-i]>max)
		{
			sum++;
			num--;
		}
		else
		{
			i++;
			num--;
		}
	}
	cout<<sum;
}
大佬能不能帮我看看哪里错了
2022-12-14 16:39:00
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main()
{   int sum=0;
    int l=0;
    int n;
    int str[100];
    int m;
    cin>>m;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>str[i];
    }
    sort(str+1,str+n+1);
    int i,j;
    i=1;
    j=n;
  while(i<=j)
    {
        if(str[i]+str[j]>m)
          {
               sum=sum+1;
               j--;
          }
       if(str[i]+str[j]<=m)
         {
              l=l+1;
              i++;
              j--;
         }

    }
    cout<<sum+l<<endl;
    return 0;
}怎么老是说数组越界呐
2020-04-23 15:18:57
  • «
  • 1
  • »