cmh20120102 2024-04-09 22:22 采纳率: 100%
浏览 5
已结题

关于#c++#的问题:c++贪心题怎么改


#include<bits/stdc++.h>
using namespace std;
long long a[114514];
int main() {
    long long w,n;
    long long z=0;
    cin>>w>>n;
    for (long long i=1; i<=n; i++) {
        cin >> a[i];
    }
    long long m=n;
    sort(a+1,a+1+n);
    for (long long i=1; i<=n; i++) {
        for (long long j=m; j>i; j--) {
            if (a[i]+a[j]<=w) {
                z++;
                m=j-1;
                break;
            }
        }
    }
    z=z+(n-z*2);
    cout<<z;
    return 0;
}

img

  • 写回答

3条回答 默认 最新

  • cmh20120102 2024-04-12 21:49
    关注

    我忽略了Pi>w的情况,代码如下

    #include<bits/stdc++.h>
    using namespace std;
    long long a[114514];
    long long asd=0;
    long long w,n;
    long long z=0;
    int main() {
        cin>>w>>n;
        for (long long i=1; i<=n; i++) {
            cin >> a[i];
        }
        long long m=n;
        sort(a+1,a+1+n);
        for (int i=1; i<=n; i++) {
                if (a[i]>w) {
                    asd++;
                }
        }
        for (long long i=1; i<=n; i++) {
            for (long long j=m; j>i; j--) {
                if (a[i]+a[j]<=w) {
                    z++;
                    m=j-1;
                    break;
                }
                
            }
        }
        z=z+(n-z*2);
        cout<<z-asd;
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月20日
  • 已采纳回答 4月12日
  • 创建了问题 4月9日

悬赏问题

  • ¥20 python忆阻器数字识别
  • ¥15 无法输出helloworld
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真