# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
258570 | 2020-08-06T07:17:21 Z | dantoh000 | Restore Array (RMI19_restore) | C++14 | 600 ms | 640 KB |
#include <bits/stdc++.h> using namespace std; int n,m; int l[10005],r[10005],k[10005],val[10005]; int ans[10005]; int main(){ scanf("%d%d",&n,&m); for (int i = 0; i < m; i++){ scanf("%d%d%d%d",&l[i],&r[i],&k[i],&val[i]); } if (n <= 18){ for (int mask = 0; mask < (1<<n); mask++){ bool can = 1; for (int i = 0; i < m; i++){ int ct1 = 0; for (int j = l[i]; j <= r[i]; j++){ if (mask&(1<<j)) ct1++; } int ct0 = r[i]-l[i]+1-ct1; int chk = ct0 >= k[i] ? 0 : 1; can &= (chk == val[i]); } if (can){ for (int i = 0; i < n; i++){ printf("%d ",(mask>>i)&1); } return 0; } } } else{ for (int i = 0; i < m; i++){ if (k[i] != 1) return 0; if (val[i] == 1){ for (int j = l[i]; j <= r[i]; j++){ ans[j] = 1; } } } for (int i = 0; i < m; i++){ if (val[i] == 0){ bool have = 0; for (int j = l[i]; j <= r[i]; j++){ if (ans[j] == 0) have = 1; } if (!have){ printf("-1\n"); return 0; } } } for (int i = 0; i < n; i++){ printf("%d ",ans[i]); } } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 384 KB | Output is correct |
2 | Correct | 1 ms | 384 KB | Output is correct |
3 | Correct | 152 ms | 384 KB | Output is correct |
4 | Correct | 129 ms | 504 KB | Output is correct |
5 | Execution timed out | 632 ms | 384 KB | Time limit exceeded |
6 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 16 ms | 640 KB | Output is correct |
2 | Correct | 16 ms | 640 KB | Output is correct |
3 | Correct | 18 ms | 640 KB | Output is correct |
4 | Correct | 16 ms | 640 KB | Output is correct |
5 | Correct | 6 ms | 640 KB | Output is correct |
6 | Correct | 6 ms | 640 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 16 ms | 640 KB | Output is correct |
2 | Correct | 16 ms | 640 KB | Output is correct |
3 | Correct | 18 ms | 640 KB | Output is correct |
4 | Correct | 16 ms | 640 KB | Output is correct |
5 | Correct | 6 ms | 640 KB | Output is correct |
6 | Correct | 6 ms | 640 KB | Output is correct |
7 | Incorrect | 4 ms | 640 KB | Unexpected end of file - int32 expected |
8 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 384 KB | Output is correct |
2 | Correct | 1 ms | 384 KB | Output is correct |
3 | Correct | 152 ms | 384 KB | Output is correct |
4 | Correct | 129 ms | 504 KB | Output is correct |
5 | Execution timed out | 632 ms | 384 KB | Time limit exceeded |
6 | Halted | 0 ms | 0 KB | - |