# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
238222 | 2020-06-10T09:27:47 Z | Sorting | Restore Array (RMI19_restore) | C++14 | 10 ms | 512 KB |
#include <bits/stdc++.h> using namespace std; const int k_N = 5000 + 3; const int k_M = 10000 + 3; struct Constraint{ int l, r, k, value; Constraint(){} Constraint(int l, int r, int k, int value){ this->l = l; this->r = r; this->k = k; this->value = value; } }; int n, m; int a[k_N]; Constraint c[k_M]; int prefix[k_N]; int get_count_ones(int l, int r){ if(l == 0) return prefix[r]; return prefix[r] - prefix[l - 1]; } int main(){ ios::sync_with_stdio(false); cin.tie(NULL); cin >> n >> m; for(int i = 0; i < m; ++i) cin >> c[i].l >> c[i].r >> c[i].k >> c[i].value; for(int i = 0; i < n; ++i) a[i] = 0; for(int i = 0; i < m; ++i){ auto [l, r, k, value] = c[i]; if(k == 1 && value == 1){ for(int j = l; j <= r; ++j) a[j] = 1; } else if(k == (r - l + 1) && value == 0){ for(int j = l; j <= r; ++j) a[j] = 0; } } prefix[0] = 0; for(int i = 1; i < n; ++i) prefix[i] = prefix[i - 1] + a[i]; for(int i = 0; i < m; ++i){ int count_ones = get_count_ones(c[i].l, c[i].r); int count_zeros = (c[i].r - c[i].l + 1) - count_ones; if(c[i].value == 0 && count_zeros >= c[i].k) continue; if(c[i].value == 1 && count_zeros < c[i].k) continue; cout << "-1\n"; return 0; } for(int i = 0; i < n; ++i) cout << a[i] << " "; cout << "\n"; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 5 ms | 384 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 8 ms | 512 KB | Output is correct |
2 | Correct | 8 ms | 512 KB | Output is correct |
3 | Correct | 8 ms | 384 KB | Output is correct |
4 | Correct | 8 ms | 512 KB | Output is correct |
5 | Correct | 10 ms | 512 KB | Output is correct |
6 | Correct | 9 ms | 512 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 8 ms | 512 KB | Output is correct |
2 | Correct | 8 ms | 512 KB | Output is correct |
3 | Correct | 8 ms | 384 KB | Output is correct |
4 | Correct | 8 ms | 512 KB | Output is correct |
5 | Correct | 10 ms | 512 KB | Output is correct |
6 | Correct | 9 ms | 512 KB | Output is correct |
7 | Incorrect | 8 ms | 512 KB | Output isn't correct |
8 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 5 ms | 384 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |