题解 P2777 【[AHOI2016初中组]自行车比赛】
emmmm
- 这题开始觉得很简单,
- 只需倒数第二天得分最高的得一分,后面的得了n分就可的第一,开了ll就打上了,然而,85分,,,,不禁在思考一下。
一拍大腿,mmp,相等时也可的冠军,总而言之是到比较简单的贪心,附上代码。
/*85 分*/
/*#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
#define ll long long
#define R register
int n;
ll b[300007];
int main()
{
freopen(".in","r",stdin);
freopen(".out","w",stdout);
cin>>n;
for(int i=1;i<=n;i++)
cin>>b[i];
sort(b+1,b+n+1);
int tot=0;
int sum=b[n]+1;
for(int i=n;i>=1;i--)
{
if(b[i]+n>sum)
tot++;
}
cout<<tot;
return 0;
}*/
100分的
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define ll long long
#define R register
int n;
ll b[300007];
int main()
{
/*freopen(".in","r",stdin);
freopen(".out","w",stdout);*/
cin>>n;
for(int i=1;i<=n;i++)
cin>>b[i];
sort(b+1,b+n+1);//排序
int tot=0;
int sum=b[n]+1;//最惨的情况
for(int i=1;i<=n;i++)
{
if(b[i]+n>=sum)//条件
tot++;//答案
}
cout<<tot;
return 0;
}
好好打,别变成棕色的哟QWQ