Submission #1113607

#TimeUsernameProblemLanguageResultExecution timeMemory
1113607ortsacAlternating Current (BOI18_alternating)C++17
13 / 100
27 ms2384 KiB
#include <bits/stdc++.h> using namespace std; #define pii pair<int, int> #define fr first #define se second int32_t main() { int n, m; cin >> n >> m; vector<pii> r(m); for (int i = 0; i < m; i++) { cin >> r[i].fr >> r[i].se; } int ans = -1; for (int mask = 0; mask < (1 << m); mask++) { vector<vector<int>> qtd(2, vector<int>(n + 2)); for (int i = 0; i < m; i++) { int w = ((mask & (1 << i)) > 0); auto u = r[i]; qtd[w][u.fr]++; qtd[w][u.se + 1]--; if (u.se < u.fr) { qtd[w][1]++; } } for (int j = 0; j < 2; j++) { for (int i = 1; i <= n; i++) { qtd[j][i] += qtd[j][i - 1]; } } bool ok = 1; for (int i = 1; i <= n; i++) { if (!(qtd[0][i] && qtd[1][i])) ok = 0; } if (ok) { ans = mask; } } if (ans == -1) { cout << "impossible\n"; } else { for (int i = 0; i < m; i++) { if (ans & (1 << i)) cout << "1"; else cout << "0"; } cout << "\n"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...