Submission #395925

# Submission time Handle Problem Language Result Execution time Memory
395925 2021-04-29T08:10:19 Z ArshiaDadras Round words (IZhO13_rowords) C++14
28 / 100
31 ms 32716 KB
/* In the name of Allah */
// Those were the days, my friend...
#include<bits/stdc++.h>
using namespace std;

string s, t;
const int N = 2e3 + 5;
int n, m, dp[N][2 * N], par[N][2 * N];

int calc(int i, int j, int st) {
	int lcs = 0;
	while (i && j > st)
		if (!par[i][j]) {
			i--, j--;
			lcs++;
		}
		else
			par[i][j] & 1? j--: i--;
	return lcs;
}

void read_input() {
	cin >> s >> t;
	n = s.size();
	m = t.size();
}

void solve() {
	t += t;
	for (int i = 1; i <= n; i++)
		for (int j = 1; j <= 2 * m; j++)
			if (s[i - 1] == t[j - 1])
				dp[i][j] = dp[i - 1][j - 1] + 1;
			else {
				dp[i][j] = max(dp[i][j - 1], dp[i - 1][j]);
				par[i][j] = dp[i][j] > dp[i - 1][j]? 1: 2;
			}
}

void write_output() {
	int answer = 0;
	for (int i = 0; i < m; i++)
		answer = max(answer, calc(n, m + i, i));
	cout << answer;
}

int main() {
	ios:: sync_with_stdio(0), cin.tie(0), cout.tie(0);
	read_input(), solve(), write_output();
	return 0;
}
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 332 KB Output isn't correct
2 Correct 1 ms 332 KB Output is correct
3 Correct 1 ms 460 KB Output is correct
4 Correct 1 ms 716 KB Output is correct
5 Correct 1 ms 588 KB Output is correct
6 Correct 6 ms 9932 KB Output is correct
7 Correct 24 ms 24020 KB Output is correct
8 Incorrect 19 ms 23940 KB Output isn't correct
9 Incorrect 21 ms 23984 KB Output isn't correct
10 Incorrect 22 ms 24012 KB Output isn't correct
11 Incorrect 25 ms 26388 KB Output isn't correct
12 Correct 13 ms 15176 KB Output is correct
13 Incorrect 28 ms 30140 KB Output isn't correct
14 Incorrect 31 ms 27340 KB Output isn't correct
15 Incorrect 31 ms 31692 KB Output isn't correct
16 Incorrect 22 ms 26240 KB Output isn't correct
17 Incorrect 21 ms 24908 KB Output isn't correct
18 Incorrect 30 ms 32716 KB Output isn't correct
19 Incorrect 24 ms 23948 KB Output isn't correct
20 Incorrect 25 ms 29308 KB Output isn't correct
21 Incorrect 12 ms 17996 KB Output isn't correct
22 Incorrect 16 ms 21788 KB Output isn't correct
23 Incorrect 19 ms 24652 KB Output isn't correct
24 Incorrect 22 ms 25940 KB Output isn't correct
25 Incorrect 26 ms 30412 KB Output isn't correct