• Codeforces Round #371 (Div. 2) A


    传送门

    题意: 给出2个区间l1,r1,l2,r2,求交集 并且不能包含k

    思路:取l1,l2中较大的作为交集的l,取r1,r2中较大的作为交集的r, r-l+1 即为交集 再判断k是否在交集内

    对了 用long long 嗯 日了狗。。。。

    AC代码:

     1 #include "iostream"
     2 #include "string.h"
     3 #include "stack"
     4 #include "queue"
     5 #include "map"
     6 #include "algorithm"
     7 #include "stdio.h"
     8 #include "math.h"
     9 #define ll long long
    10 #define mem(a) memset(a,0,sizeof(a))
    11 #define max(a,b) a > b ? a : b
    12 #define min(a,b) a < b ? a : b
    13 
    14 using namespace std;
    15 
    16 int main()
    17 {
    18     ll l1,l2,r1,r2,k,l,r,ans = 0;
    19     cin>>l1>>r1>>l2>>r2>>k;
    20     l = max(l1,l2);
    21     r = min(r1,r2);
    22     ans += r-l+1;
    23     if(k>=l && k<=r)
    24         ans--;
    25     if(r<l)
    26         ans = 0;
    27     printf("%I64d
    ",ans);
    28    return 0;
    29 }
  • 相关阅读:
    windows下安装python模块
    红包demo
    如何查看python 的api
    vscode 与 python 的约会
    默认构造函数
    关于重载
    转类型转换
    asm-offset.h 生成
    debian 7 安装
    emacs 定制进缩风格
  • 原文地址:https://www.cnblogs.com/max88888888/p/5870450.html
Copyright © 2020-2023  润新知