2019-03-17 拦截导弹(NlogN)

#include
#include
#include
using namespace std;
const int maxn=100000+1;
int cnt,n,b[maxn],d[maxn],m[maxn];
int main(void)
{
    int x;
    while(cin>>x)
    {
        b[++n]=x;
    }
    int len=0;
    d[++len]=b[1];
    for(int i=2;i<=n;i++)
    {
        if(d[len]>=b[i]) d[++len]=b[i];
        else
        {
            int p=upper_bound(d+1,d+1+len,b[i],greater())-d;
            d[p]=b[i];
        }
    }
    //for(int i=1;i<=n;i++) cout<=b[i] && m[j]-b[i]

你可能感兴趣的:(2019-03-17 拦截导弹(NlogN))