1 条题解

  • 0
    @ 2025-8-7 21:35:51

    大开算小开,小开不算开

    #include<bits/stdc++.h>
    using namespace std;
    int n,m,a[1001],s2=0,max2=-1e9;//n存数量,m存x-y的值,a存宝箱的价值,max2存最大值
    bool cmp(int x,int y){
    	return x>y;//排序不在解释
    }
    int main(){
    	cin>>n>>m;//输入
    	for(int i=1;i<=n;i++){
    		cin>>a[i];//输入
    	}
    	sort(a+1,a+n+1,cmp);//排序
    	for(int i=1;i<=n;i++){
    		int s=0;//s存某种方法宝箱的价值
    		for(int j=i;j<=n;j++){//假设a[i]是最大值,从i到n开始枚举
    			if(a[i]-a[j]<=m){//满足条件
    				s+=a[j];//累加
    			}
    		}
    		max2=max(max2,s);//打擂台
    	}
    	cout<<max2;//输出
    	return 0;//完美
    }
    • 1

    信息

    ID
    1339
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    1
    已通过
    1
    上传者