Submission #643984

#TimeUsernameProblemLanguageResultExecution timeMemory
643984elifKamenčići (COCI21_kamencici)C++17
0 / 70
79 ms182888 KiB
#include <bits/stdc++.h> using namespace std; #define N 360 int dp[N][N][N]; int red[N]; int n, k; int f(int i, int j, int l){ int m = red[n] - red[j] + red[i - 1] - l; if(l >= k) return 0; if(m >= k) return 1; if(dp[i][j][k] != -1) return dp[i][j][k]; return dp[i][j][k] = !f(i + 1, j, m) || !f(i, j - 1, m); } int main(){ memset(dp, -1, sizeof(dp)); string s; cin >> n >> k >> s; for(int i=1; i<=n; i++){ red[i] = red[i - 1]; if(s[i - 1] == 'C') red[i]++; } if(f(1, n, 0) == 1) cout << "DA" << endl; else cout << "NE" << endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...