传送门
题目大意:
一群牛排队喝柠檬水(这年头牛喝的都比人好了(哭)),每头牛能容忍?头牛在它前面排队,即每头牛都有它的理想型,如果排队的人数大于它的理想型,那它就不会排队了(真是傲娇),问最少要准备多少份柠檬水?
题目分析:
这题是真正意义的喝水题,从题目里都透露出水题的气息。
这里我们贪心一下,让理想型大的牛排前面,理想型小的排后面,就能得出最少牛排队的情况。
代码:
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
using namespace std;
const int maxn = 1e5+10;
int a[maxn];
bool cmp(int x,int y){
return x>y;
}
int main(){
int n;cin>>n;
for(int i=0;i<n;i++) scanf("%d",&a[i]);
if(n==1){cout<<"1"<<endl;return 0;}
sort(a,a+n,cmp);
int q=0;
for(int i=0;i<n;i++){
if(q<=a[i]) q++;
}
cout<<q<<endl;
return 0;
}