20分,求大犇看看哪错了

按说是对的啊,可是只有20分
C++
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[1999],b[1999],n,m,tot,i,j;
cin>>n>>m;
for (i=0;i<n;i++) cin>>a[i];
for (i=0;i<m;i++) cin>>b[i];
tot=m;//摘一个减一个
sort(b,b+m);//排序,方便摘苹果
for (i=0;i<n;i++)
for (j=m;j>-1;j--)
if (a[i]>=b[j] && b[j]!=0)//能摘到且高度不为0就摘
{
b[j]=0;//摘过了就把高度变为0,下次就摘不了了
tot--;//剩余苹果数-1
break;//不再继续摘
}
cout<<tot<<endl;
return 0;
}

1 条评论

  • @ 2018-09-03 21:31:54

    改了一下,80分

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
    int a[1999],b[1999],n,m,tot,i,j;
    cin>>n>>m;
    for (i=0;i<n;i++) cin>>a[i];
    for (i=0;i<m;i++) cin>>b[i];
    tot=m;
    sort(b,b+m);
    for (i=0;i<n;i++)
    for (j=m;j>-1;j--)
    if (a[i]>=b[j] && b[j]!=0)//这里有改动,">="改成">"
    {
    b[j]=0;
    tot--;
    break;
    }
    cout<<tot<<endl;
    return 0;
    }

  • 1

信息

ID
1291
难度
6
分类
贪心 点击显示
标签
(无)
递交数
8477
已通过
2064
通过率
24%
上传者