2014年1月17日 星期五

Codeforces Round #219 (Div. 1) A - Counting Kangaroos is Fun


#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int s[500005],v[500005]={0};
int main(){
    int i,n,j,ans,l,r,m;
    scanf("%d",&n);
    ans=n;
    for(i=0;i<n;i++)
        scanf("%d",&s[i]);
    sort(s,s+n);
    j=0;
    l=0,r=n;
    while(l+1!=r){
        m=(l+r)/2;
        j=m;
        ans=0;
        for(i=0;i<m && j<n;i++){
            while(j<n && s[j]<s[i]*2) j++;
            if(j<n) ans++,j++;
        }
        if(ans==m) l=m;
        else r=m;
    }
    printf("%d\n",n-l);
}

沒有留言:

張貼留言