Submission #716090

# Submission time Handle Problem Language Result Execution time Memory
716090 2023-03-29T00:57:06 Z Juan Kamenčići (COCI21_kamencici) C++17
0 / 70
0 ms 340 KB
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define pii pair<int, int>
#define ff first
#define ss second
const int maxn = 50;

bool v[maxn];
int dp[maxn][maxn][maxn][maxn][3];

bool solve(int l, int r, int k1, int k2, int p){
	if(k1==0) return 0;
	if(k2==0) return 1;

	if(dp[l][r][k1][k2][p]) return dp[l][r][k1][k2][p];

	if(p==1){
		return dp[l][r][k1][k2][p] = max(solve(l+1, r, k1-v[l], k2, 2), solve(l, r-1, k1-v[r], k2, 2));
	}
	else{
		return dp[l][r][k1][k2][p] = min(solve(l+1, r, k1, k2-v[l], 1), solve(l, r-1, k1, k2-v[r], 1));
	}
}

int32_t main(){
	int n, k; cin >> n >> k;
	for(int i = 0; i < n; i++){
		char c; cin >> c;
		if(c=='C') v[i] = 1;
	}

	if(solve(0, n-1, k, k, 1)) cout << "DA\n";
	else cout << "NA\n";
}

Compilation message

Main.cpp: In function 'bool solve(long long int, long long int, long long int, long long int, long long int)':
Main.cpp:19:30: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
   19 |   return dp[l][r][k1][k2][p] = max(solve(l+1, r, k1-v[l], k2, 2), solve(l, r-1, k1-v[r], k2, 2));
      |          ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Main.cpp:22:30: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
   22 |   return dp[l][r][k1][k2][p] = min(solve(l+1, r, k1, k2-v[l], 1), solve(l, r-1, k1, k2-v[r], 1));
      |          ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -