Submission details
Task:Palindrome
Sender:rafaykh
Submission time:2016-10-22 13:35:55 +0300
Language:C++
Status:READY
Result:
Test results
testverdicttime
#1--details
#2--details
#3ACCEPTED0.05 sdetails
#4ACCEPTED0.04 sdetails
#5--details
#6--details
#7--details

Compiler report

input/code.cpp: In function 'int main(int, char**)':
input/code.cpp:16:55: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (int mid = 0; mid + offset < input.length(); mid++) {
                                                       ^
input/code.cpp:25:61: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                     if (i + i + offset + 1 > largest.length()) {
                                                             ^

Code

#include <algorithm>
#include <iostream>
#include <sstream>
#include <cstring>
int main(int argc, char **argv)
{
	using namespace std;
	ios::sync_with_stdio(0);
	string input;
	cin >> input;

    string largest = "";
    // offset is O or 1 for odd, and even sized palindromes.
    for (int offset = 0; offset <= 1; offset++) {

        for (int mid = 0; mid + offset < input.length(); mid++) {

            // max is the space between the mid and the end
            int max = input.length() - offset - mid;
            // ... unless the mid is closer to the beginning than the end.
            max = max > mid ? mid : max;

            for (int i = 0; i < max; i++) {
                if (input[mid - i] == input[mid + offset + i]) {
                    if (i + i + offset + 1 > largest.length()) {
                        largest = input.substr(mid - i, i + i + offset + 1);
                    }
                } else {
                    break;
                }
            }
        }
    }

    cout << largest;


}

Test details

Test 1

Verdict:

input
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
(empty)

Test 2

Verdict:

input
saippuakauppiassaippuakauppias...

correct output
saippuakauppiassaippuakauppias...

user output
(empty)

Test 3

Verdict: ACCEPTED

input
yfsnqpzfxfhdnbozewnjtseeyktblk...

correct output
buevzveub

user output
buevzveub

Test 4

Verdict: ACCEPTED

input
oyyahdsjdwtziuwnmpjhshemvxodtc...

correct output
rrfaxafuttsospqnxbwaufpchwjaha...

user output
rrfaxafuttsospqnxbwaufpchwjaha...

Test 5

Verdict:

input
tcaxtmkrvjovwnhsqquwxuemckkmks...

correct output
xtmkrvjovwnhsqquwxuemckkmksqqj...

user output
(empty)

Test 6

Verdict:

input
mwuepokhcaykorctrxqvplhxbxjndd...

correct output
eyexbstwynwjbqjasyuaqrmckrgmki...

user output
(empty)

Test 7

Verdict:

input
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

correct output
bcbcbcbcbcbcbcbcbcbcbcbcbcbcbc...

user output
(empty)