#include<stdio.h>
#include<algorithm>
using namespace std;
long long int n,m,k,s[500005]={0};
int cmp(long long int a,long long int b){
return a>b;
}
int main(){
long long int i,ans=0,flag=0,st=0;
scanf("%lld%lld%lld",&n,&m,&k);
for(i=0;i<k;i++)
scanf("%lld",&s[i]);
sort(s,s+k,cmp);
for(i=0;i<k;i++){
if(flag==0 && s[i+1]+m<n){
flag=1;
if(s[i]<n-m) break;
n=m-(s[i]-(n-m))/2;
}
else{
st+=s[i]-(m-st);
if(s[i]<m-st) break;
}
if(st>=n){
ans=i+1;
break;
}
}
printf("%lld\n",ans);
}
沒有留言:
張貼留言