Submission #493719

#TimeUsernameProblemLanguageResultExecution timeMemory
493719CristianRestore Array (RMI19_restore)C++14
7 / 100
20 ms460 KiB
#include <iostream> using namespace std; const int NMAX1 = 205; int v[NMAX1], sp[NMAX1], l[NMAX1], r[NMAX1], k[NMAX1], value[NMAX1]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n, m, i, ns, b; cin >> n >> m; for(i = 1; i <= m; i++) { cin >> l[i] >> r[i] >> k[i] >> value[i]; l[i]++; r[i]++; } /// Subtask #1 if(n <= 18 && m <= 200) { ns = (1 << n); for(b = 0; b < ns; b++) { sp[0] = 0; for(i = 1; i <= n; i++) { sp[i] = sp[i - 1]; if((1 << (i-1)) & b) sp[i]++; } int ok = 1; for(i = 1; i <= m; i++) { if(value[i] == 0 && sp[r[i]] - sp[l[i] - 1] > r[i] - l[i] - k[i] + 1) { ok = 0; break; } if(value[i] == 1 && sp[r[i]] - sp[l[i] - 1] < r[i] - l[i] - k[i] + 2) { ok = 0; break; } } if(ok) { for(i = 1; i <= n; i++) { cout << sp[i] - sp[i-1] << ' '; } return 0; } } cout << "-1"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...