zoukankan      html  css  js  c++  java
  • codeforces 761D

    n  l  r

    然后b序列

    然后给出rank

    构造出a序列

    显然先要根据rank拍一下序

    然后 也就是二分一个数a  a-num[i]>num[i-1]-ans[i-1];

    求最小的a

    判断这个序列能不能存在

    #include<stdio.h>
    #include<algorithm>
    #include<string.h>
    #include<math.h>
    #include<set>
    #include<string>
    
    using namespace std;
    typedef long long LL;
    
    #define inf  10000000000000
    #define MAXN 100010
    struct node
    {
        int val;
        int ran;
        int ind;
    }num[MAXN];
    bool cmp(node a,node b)
    {
        return a.ran<b.ran;
    }
    LL ans[MAXN];
    
    int main()
    {
        int n,l,r;
        while(scanf("%d%d%d",&n,&l,&r)!=EOF)
        {
            for(int i=0;i<n;i++)
                scanf("%d",&num[i].val);
            for(int i=0;i<n;i++)
            {
                scanf("%d",&num[i].ran);
                num[i].ind=i;
            }
            sort(num,num+n,cmp);
            ans[num[0].ind]=l;
            int ok=0;
            for(int i=1;i<n;i++)
            {
                LL a=inf;
                LL le=l;
                LL ri=inf;
                while(le<=ri)
                {
                    LL mid=(le+ri)>>1;
                    if(mid-num[i].val>ans[num[i-1].ind]-num[i-1].val)
                        a=min(mid,a),ri=mid-1;
                    else
                        le=mid+1;
                }
     //           printf("%lld
    ",a);
                ans[num[i].ind]=a;
                if(a>r)
                    ok=1;
            }
            if(ok==1)
                printf("-1
    ");
            else
            {
                for(int i=0;i<n-1;i++)
                    printf("%d ",ans[i]);
                printf("%d
    ",ans[n-1]);
            }
        }
        return 0;
    }
  • 相关阅读:
    匈牙利算法-二分图的最大匹配
    UOJ 407(IOI2018 D1T3)
    UOJ 460
    UOJ 405(IOI2018 D1T1)
    Codeforces 1110E
    2.文件结构
    1.常用快捷键
    Python3.x和Python2.x的差异
    javascript 常用内置对象
    94. Binary Tree Inorder Traversal(非递归实现二叉树的中序遍历)
  • 原文地址:https://www.cnblogs.com/cherryMJY/p/6426439.html
Copyright © 2011-2022 走看看