ural 1019_涂色_离散

lzusa 发布于 2019-05-01 905 次阅读


题目描述

有一根长度为1000000000的棍子,一开始涂成白色。
棍子上有刻度,左端点为0,右端点1000000000。
由于某种原因这根棍子的某些部分被重新涂过了。
重新涂的颜色可能是黑色或着白色。
棍子总共被依次重新涂了N(1<=N<=5000)次。
找出最后最长的白色段。


思路

将所有数离散到数组里,然后暴力进行一下枚举
注意一开始所有都是白色的(包括0)
O(n^2)

#include 
#include 
#include 
#define M 50001
using namespace std;
struct arr
{
    long long l,r;
    char s[3];
}a[M];
int cam(long long x,long long y)
{
    return xend-begin) 
        {
            begin=x;
            end=y;
        }
    }
    printf("%I64d %I64d\n",begin,end);
}
]]>