#include <bits/stdc++.h>
//#include <ext/pb_ds/assoc_container.hpp>
//#include <ext/pb_ds/tree_policy.hpp>
//#pragma GCC optimize("unroll-loops")
//#pragma GCC optimize("-O3")
//#pragma GCC optimize("Ofast")
//#pragma GCC optimize("fast-math")
//#pragma GCC optimize("no-stack-protector")
#define F first
#define S second
#define sz(x) int(x.size())
#define pb push_back
#define N 100001
#define M ll(1e9 + 7)
#define inf 1e9 + 1e9
using namespace std;
//using namespace __gnu_pbds;
typedef long double ld;
typedef long long ll;
typedef short int si;
typedef array <int, 2> a2;
//typedef tree <int, null_type, less_equal<int>, rb_tree_tag, tree_order_statistics_node_update> ordered_set;
int a[5005], f[5005][5005], n, m, k;
bool gd(int v, int x)
{
if (x == m) return 1;
v %= n;
if (f[v][x] == -1)
{
f[v][x] = 0;
for (int i = x + 1; i <= min(m - 1, x + k); i++)
{
bool fr = gd(v + 1, i);
if (fr && a[(v + 1) % n] == a[v]) {f[v][x] = 1; break;}
if (!fr && a[(v + 1) % n] != a[v]) {f[v][x] = 1; break;}
}
}
return f[v][x];
}
int main()
{
//freopen("input.txt", "r", stdin); //freopen("output4.txt", "w", stdout);
ios_base::sync_with_stdio(0); istream::sync_with_stdio(0); cin.tie(0); cout.tie(0);
cin >> n >> m >> k;
for (int i = 0; i < n; i++) cin >> a[i];
for (int i = 0; i < n; i++)
for (int j = 0; j <= m; j++) f[i][j] = -1;
for (int i = 0; i < n; i++)
if (gd(i, 0)) cout << a[i] << " "; else cout << (1 + a[i]) % 2 << " ";
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
5 ms |
384 KB |
Output is correct |
2 |
Correct |
6 ms |
640 KB |
Output is correct |
3 |
Correct |
5 ms |
640 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
10 ms |
1408 KB |
Output is correct |
2 |
Correct |
11 ms |
768 KB |
Output is correct |
3 |
Correct |
37 ms |
1408 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
13 ms |
1536 KB |
Output is correct |
2 |
Correct |
36 ms |
1408 KB |
Output is correct |
3 |
Correct |
9 ms |
1536 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
31 ms |
2168 KB |
Output is correct |
2 |
Correct |
70 ms |
2432 KB |
Output is correct |
3 |
Correct |
16 ms |
2304 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
30 ms |
3072 KB |
Output is correct |
2 |
Correct |
42 ms |
2944 KB |
Output is correct |
3 |
Correct |
181 ms |
2808 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
11 ms |
2688 KB |
Output is correct |
2 |
Correct |
59 ms |
2816 KB |
Output is correct |
3 |
Correct |
4 ms |
384 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
459 ms |
19368 KB |
Output is correct |
2 |
Execution timed out |
3076 ms |
20912 KB |
Time limit exceeded |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
3078 ms |
38520 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
3087 ms |
95608 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
3092 ms |
96248 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |