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; } };