SRM 595 div 1

1299 -> 1357
easyだけ解けた

easy
2^(最終的な色に関係ある区間の数)を計算すればいい

#include <cstdio>
#include <algorithm>
#include <vector>
#include <string>
#include <queue>
using namespace std;

class LittleElephantAndIntervalsDiv1{
public:
	long long getNumber(int M, vector <int> L, vector <int> R){
		int s = L.size();
		int k = 0;
		for(int i = 0; i < s; i++){
			L[i]--; R[i]--;
		}
		for(int i = 0; i < s; i++){
			bool a[M];
			fill(a, a + M, false);
			fill(a + L[i], a + R[i] + 1, true);
			for(int j = i + 1; j < s; j++){
				fill(a + L[j], a + R[j] + 1, false);
			}
			for(int j = L[i]; j < R[i] + 1; j++){
				if(a[j] == true){
					k++; break;
				}
			}
		}
		long long ans = 1;
		for(int i = 0; i < k; i++){
			ans *= 2;
		}
		return ans;
	}
};