답안 #236800

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
236800 2020-06-03T10:39:12 Z Vimmer Vođe (COCI17_vode) C++14
72 / 120
3000 ms 95992 KB
#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 = min(m - 1, x + k); i > x; 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 5 ms 640 KB Output is correct
3 Correct 5 ms 512 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 1408 KB Output is correct
2 Correct 6 ms 768 KB Output is correct
3 Correct 14 ms 1408 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 10 ms 1536 KB Output is correct
2 Correct 6 ms 1408 KB Output is correct
3 Correct 8 ms 1536 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 18 ms 2176 KB Output is correct
2 Correct 21 ms 2432 KB Output is correct
3 Correct 12 ms 2304 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 20 ms 3072 KB Output is correct
2 Correct 24 ms 2688 KB Output is correct
3 Correct 6 ms 2688 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 11 ms 2688 KB Output is correct
2 Correct 32 ms 2816 KB Output is correct
3 Correct 5 ms 384 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 280 ms 19200 KB Output is correct
2 Correct 1395 ms 20984 KB Output is correct
3 Execution timed out 3103 ms 94720 KB Time limit exceeded
# 결과 실행 시간 메모리 Grader output
1 Correct 2316 ms 38400 KB Output is correct
2 Execution timed out 3086 ms 94528 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3080 ms 95352 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3092 ms 95992 KB Time limit exceeded
2 Halted 0 ms 0 KB -