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

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:16:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int y = 0; y <= s.length(); y++) {
                                 ^
input/code.cpp:17:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int x = 0; x <= t.length(); x++) {
                                   ^
input/code.cpp:26:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int i = 0; i <= s.length(); i++) ans = min(ans, dp[i][s.length() - i]);
                                 ^
input/code.cpp:27:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int x = 0; x < s.length(); x++) ans = min(ans, dp[s.length() - x - 1][x]);
                                ^

Code

#include <bits/stdc++.h>
#define ll long long
#define N (1<<17)

using namespace std;

int ans = 999999999;
string s;

int main () {
  cin>>s;
  string t = s;
  reverse(t.begin(), t.end());
  
  int dp[s.length() + 1][t.length() + 1];
  for (int y = 0; y <= s.length(); y++) {
    for (int x = 0; x <= t.length(); x++) {
      if (x == 0) dp[y][0] = y; 
      else if (y == 0) dp[0][x] = x;
      else dp[y][x] = min(min(dp[y][x - 1] + 1, dp[y - 1][x] + 1), dp[y - 1][x - 1] + (s[y - 1] == t[x - 1] ? 0 : 1));
      //if (dp[y][x] < 10) cout<<" ";
      //cout<<dp[y][x]<<" ";
    }
    //cout<<endl;
  }
  for (int i = 0; i <= s.length(); i++) ans = min(ans, dp[i][s.length() - i]);
  for (int x = 0; x < s.length(); x++) ans = min(ans, dp[s.length() - x - 1][x]);
  cout<<ans<<endl;
}

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