CSES - KILO 2016 3/5 - Results
Submission details
Task:Palindrome
Sender:Pietari Kaskela
Submission time:2016-09-20 18:12:08 +0300
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.09 sdetails
#2ACCEPTED0.10 sdetails
#3ACCEPTED0.10 sdetails
#4ACCEPTED0.10 sdetails
#5ACCEPTED0.09 sdetails
#6ACCEPTED0.08 sdetails
#7ACCEPTED0.10 sdetails
#8ACCEPTED0.09 sdetails
#9ACCEPTED0.08 sdetails
#10ACCEPTED0.10 sdetails
#11ACCEPTED0.10 sdetails
#12ACCEPTED0.11 sdetails
#13ACCEPTED0.08 sdetails
#14ACCEPTED0.09 sdetails
#15ACCEPTED0.08 sdetails
#16ACCEPTED0.10 sdetails
#17ACCEPTED0.09 sdetails
#18ACCEPTED0.09 sdetails
#19ACCEPTED0.09 sdetails
#20ACCEPTED0.10 sdetails
#21ACCEPTED0.10 sdetails
#22ACCEPTED0.10 sdetails
#23ACCEPTED0.10 sdetails
#24ACCEPTED0.09 sdetails
#25ACCEPTED0.08 sdetails
#26ACCEPTED0.08 sdetails
#27ACCEPTED0.10 sdetails
#28ACCEPTED0.10 sdetails
#29ACCEPTED0.10 sdetails
#30ACCEPTED0.09 sdetails

Code

#include <bits/stdc++.h>

#define i64 long long
#define u64 unsigned long long
#define i32 int
#define u32 unsigned int

#define pii pair<int, int>
#define pll pair<long long, long long>

#define ld long double
#define defmod 1000000007

#define mati64(a,b) vector<vector<i64>>(a, vector<i64>(b, 0));
using namespace std;
string s;

bool d1[2020][2020];
i64 d[2020][2020];

i64 hae(int i, int j){
	if(i >= j)
		return 0;

	if(d1[i][j])
		return d[i][j];
	d1[i][j] = 1;
	if(s[i] == s[j])
		d[i][j] = hae(i+1, j-1);
	else
		d[i][j] = hae(i+1, j)+1;
	d[i][j] = min(d[i][j], hae(i+1, j)+1);
	d[i][j] = min(d[i][j], hae(i, j-1)+1);
	d[i][j] = min(d[i][j], hae(i+1, j-1)+1);
	return d[i][j];
}
int main(){
	cin.sync_with_stdio(0);
	cin.tie(0);
	cin >> s;
	cout << hae(0, s.length()-1) << endl;
	return 0;
}

Test details

Test 1

Verdict: ACCEPTED

input
ulfoeirkeoqdqodoogghreatbunekn...

correct output
322

user output
322

Test 2

Verdict: ACCEPTED

input
pdloqnpaoipdormtocrkbugqkutggo...

correct output
42

user output
42

Test 3

Verdict: ACCEPTED

input
nsjeeqtgbhihbqnrkjqesndoqpsupm...

correct output
6

user output
6

Test 4

Verdict: ACCEPTED

input
cbdabbabdadbddccdabbddbbabdbcb...

correct output
520

user output
520

Test 5

Verdict: ACCEPTED

input
qufflsdamkhaqfstkpmggbiscqahmb...

correct output
332

user output
332

Test 6

Verdict: ACCEPTED

input
metqijcfsonpgtjkgfnbkkcmhfdidr...

correct output
52

user output
52

Test 7

Verdict: ACCEPTED

input
gjctsgogicncablbpicjhhhtumcqcr...

correct output
7

user output
7

Test 8

Verdict: ACCEPTED

input
bcdaccdaaaddbddbcbabccbabbcadd...

correct output
517

user output
517

Test 9

Verdict: ACCEPTED

input
ljqskggebsriqfcrbaseostkbtufpk...

correct output
323

user output
323

Test 10

Verdict: ACCEPTED

input
opthatefgdoqcnelkocdpiekdalblk...

correct output
43

user output
43

Test 11

Verdict: ACCEPTED

input
tsifskqoacandopustasbcprqqgubc...

correct output
9

user output
9

Test 12

Verdict: ACCEPTED

input
dcdcddcaccccccbddabadacadaadad...

correct output
519

user output
519

Test 13

Verdict: ACCEPTED

input
psmqpkpdbflqsnummddslbbmqlbttl...

correct output
344

user output
344

Test 14

Verdict: ACCEPTED

input
kfbicrmensbkppfnechdgaangnekra...

correct output
47

user output
47

Test 15

Verdict: ACCEPTED

input
utmicheffpsumjmdmlltfkauerouou...

correct output
7

user output
7

Test 16

Verdict: ACCEPTED

input
aadcbccaddbbddaacdacbadcccccab...

correct output
513

user output
513

Test 17

Verdict: ACCEPTED

input
knousbhjpartmqrddgtuilrqmptfbm...

correct output
347

user output
347

Test 18

Verdict: ACCEPTED

input
mialfaqdecpampccjljbtfcsobdumg...

correct output
50

user output
50

Test 19

Verdict: ACCEPTED

input
tbolpoikroedjdrjqboqptktnqfulo...

correct output
15

user output
15

Test 20

Verdict: ACCEPTED

input
babbbabcacbbbdcaacddadaaadccdc...

correct output
521

user output
521

Test 21

Verdict: ACCEPTED

input
oqbbmemeheigflklkicqdlriifijfp...

correct output
350

user output
350

Test 22

Verdict: ACCEPTED

input
iscgirlmkcdgisciganitjdugeoegb...

correct output
45

user output
45

Test 23

Verdict: ACCEPTED

input
nrlifhnrkorbihsosdibeaapnbcmnp...

correct output
10

user output
10

Test 24

Verdict: ACCEPTED

input
ddbdcacbacadaaaaddcaadbdcabbba...

correct output
524

user output
524

Test 25

Verdict: ACCEPTED

input
pskpisphqttuafltbrgiliehohrdre...

correct output
301

user output
301

Test 26

Verdict: ACCEPTED

input
qlmpbmdcjgiibjdggepnjgdqddrjgu...

correct output
42

user output
42

Test 27

Verdict: ACCEPTED

input
kmemgrjpooulrgoofbejhtfnsdpfnl...

correct output
5

user output
5

Test 28

Verdict: ACCEPTED

input
dbadbacabbaabccdbcacdadbaddcca...

correct output
523

user output
523

Test 29

Verdict: ACCEPTED

input
riucascnslqgplsknhpmccgqenhpni...

correct output
357

user output
357

Test 30

Verdict: ACCEPTED

input
dedhqdrbrorasgunkdtdsujciuaqbu...

correct output
48

user output
48