F.A.Qs Home Discuss ProblemSet Status Ranklist Contest 入门OJ LoginRegister
Problem 1347. -- [Baltic2006]Bitwise

1347: [Baltic2006]Bitwise

Time Limit: 5 Sec  Memory Limit: 162 MB
Submit: 52  Solved: 33
[Submit][Status][Discuss]

Description

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

Input

第一行为两个整数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)。

Output

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

Sample Input

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

Sample Output

6

HINT

Source

[Submit][Status][Discuss]

HOME Back