社区讨论

求助站外水题

灌水区参与者 4已保存回复 10

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
10 条
当前快照
1 份
快照标识符
@lo8x3p2k
此快照首次捕获于
2023/10/28 01:59
2 年前
此快照最后确认于
2023/10/28 01:59
2 年前
查看原帖
貌似是一道简单贪心?
但是我们没学过,就用了老师的另一种算法
把所有的邮票都买出去,再去买回来
最后对不作出买卖的情况进行特判
一共2个点,50分
代码:
CPP
#include<bits/stdc++.h>
using namespace std;
int n,m,a[52],b[52],sum,ans;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++)
    {
    	cin>>a[i];
    }
    cin>>m;
    for(int i=1;i<=m;i++)
    {
    	cin>>b[i];
    	sum+=a[b[i]];
    	//cout<<a[b[i]]<<endl;
    }
    //cout<<sum;
    sort(a+1,a+n+1);
    int i=1;
    while(sum-a[i]>0)
    {
    	ans++;
    	sum-=a[i];
        //cout<<i<<" "<<ans<<" "<<sum<<" "<<a[i]<<endl;
		i++;
    }
    if(m>=ans)cout<<m;
    else cout<<ans;
    return 0;
}

回复

10 条回复,欢迎继续交流。

正在加载回复...