[Baltic2006]Bitwise

时间限制:5s      空间限制:162MB

题目描述

在信号处理中,人们有时会对一个给定表达式的最大值感兴趣。这个表达式只含有二进制AND和OR运算,变量都为整数且有一定的取值范围。请你编写程序,求出一个给定表达式的最大值。 为了简化题目,这里只考虑一种特殊的表达式,它有若干个由AND连接的子表达式构成,而每个子表达式内只含有OR运算。这样,一个表达式可以由它的子表达式数量和每个表达式内变量的个数唯一确定。例如,(3,1,2,2)表示的表达式为 E=(v1 OR v2 OR v3) AND (v4) AND (v5 OR v6) and (v7 OR v8)


输入格式

第一行为两个整数N和P,其中N为变量的个数(1≤N≤100),P为子表达式的个数(1≤P≤N)。 第二行为P个整数K1,K2,…,KP,其中Ki表示第i个子表达式的变量个数(Ki≥1,SigmaKi=N(1<=i<=N) 。 接下来N行,每行两个整数Aj和Bj,表示变量vj的取值范围为[Aj,Bj](0≤Aj≤Bj≤2000000000)。


输出格式

一个整数,为表达式的最大值。


样例输入

8 4
3 1 2 2
2 4
1 4
0 0
1 7
1 4
1 2
3 4
2 3

样例输出

6

提示

没有写明提示


题目来源

没有写明来源

Menuappsclose