zoukankan      html  css  js  c++  java
  • URAL

    http://www.nocow.cn/index.php/Translate:URAL/1097

    
    
    #include<cstdio>
    #include<iostream>
    #include<cstdlib>
    #include<algorithm>
    #include<cmath>
    #include<string>
    #include<cstring>
    #include<set>
    #include<map>
    #include<list>
    #include<queue>
    #include<vector>
    #define tree int o,int l,int r
    #define lson o<<1,l,mid
    #define rson o<<1|1,mid+1,r
    #define lo o<<1
    #define ro o<<1|1
    #define ULL unsigned long long
    #define LL long long
    #define UI unsigned int
    #define inf 0x7fffffff
    #define eps 1e-7
    #define N 10009
    #define M 901
    using namespace std;
    int T,n,m,k,t,maxv,q;
    int sum[N<<2];
    int ql,qr;
    struct Node
    {
        int d,len,x,y;
        bool operator<(const Node a)const
        {
            return d>a.d;
        }
    } node[M];
    
    void update(tree)
    {
        if(ql<=l&&qr>=r)
        {
            sum[o]=r-l+1;
        }
        else if(sum[o]==r-l+1)
            return ;
        else
        {
            int mid=(l+r)>>1;
            if(ql<=mid)
                update(lson);
            if(qr>mid)
                update(rson);
            sum[o]=sum[lo]+sum[ro];
        }
    }
    int main()
    {
    #ifndef ONLINE_JUDGE
        freopen("ex.in","r",stdin);
    #endif
        int ncase=0;
    
        scanf("%d%d",&n,&m);
        scanf("%d",&q);
        for(int i=0; i<q; ++i)
            scanf("%d%d%d%d",&node[i].d,&node[i].len,&node[i].x,&node[i].y);
        sort(node,node+q);
        int minv=255;
        for(int i=m; i<=n; i++)
        {
            memset(sum,0,sizeof(sum));
            ql=n-m+1,qr=n;
            update(1,1,n);
            int flag=1;
            for(int j=0; j<q; ++j)
            {
                if(i>=node[j].y&&i<=node[j].y+node[j].len-1+m-1)////WA
                {
                    ql=node[j].x-m+1,qr=node[j].x+node[j].len-1;
                    update(1,1,n);
                }
                if(sum[1]==n)
                {
                    flag=0;
                    minv=min(minv,node[j].d);
                    break;
                }
            }
            if(flag)minv=1;
        }
        if(minv==255)
            puts("IMPOSSIBLE");
        else
            printf("%d
    ",minv);
        return 0;
    }
    View Code
  • 相关阅读:
    JVM 调优工具
    JVM tomcat 性能调优
    meven 新建web 项目
    垃圾收集器
    JVM 内存溢出
    JVM 常见参数配置
    垃圾回收机制策略
    MongoDB C#驱动:
    基于MSMQ绑定的WCF服务实现总结
    python _、__和__xx__的区别(转)
  • 原文地址:https://www.cnblogs.com/sbaof/p/3232856.html
Copyright © 2011-2022 走看看