CSES - Datatähti 2018 peili - Results
Submission details
Task:Merkkijono
Sender:JAHugawa
Submission time:2017-10-10 16:13:24 +0300
Language:C++
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED100
Test results
testverdicttime
#1ACCEPTED0.05 sdetails
#2ACCEPTED0.05 sdetails
#3ACCEPTED0.05 sdetails
#4ACCEPTED0.06 sdetails
#5ACCEPTED0.06 sdetails
#6ACCEPTED0.06 sdetails
#7ACCEPTED0.05 sdetails
#8ACCEPTED0.05 sdetails
#9ACCEPTED0.05 sdetails
#10ACCEPTED0.04 sdetails

Code

#include <iostream>
#include <list>
#include <string>
using namespace std;

int main() {
    string s;
    getline(cin,s);
    list<char> l(s.c_str(), s.c_str()+s.length());

    auto first = l.begin();
    char firstc = ' ';
    bool atLeastTwo = false;
    for (auto it=l.begin();;) {
        if (*it == firstc) {
            atLeastTwo = true;
        } else {
            if (atLeastTwo) {
                l.erase(first, it);
                auto newIt = it;
                --newIt;
                first = it;
                atLeastTwo = false;
                while(it != l.begin()) {
                    firstc=*it;
                    if (*it != *newIt) {
                        ++newIt;
                        break;
                    }
                    atLeastTwo=true;
                    first = newIt;
                    if (newIt == l.begin()) {
                        break;
                    }
                    --newIt;
                }
            } else {
                first = it;
                atLeastTwo = false;
            }
            firstc = *first;
        }
        ++it;
        if (it==l.end()) {
            if (atLeastTwo) {
                l.erase(first, it);
            }
            break;
        }
    }
    for (auto it=l.begin(); it != l.end(); ++it) {
        cout << *it;
    }
}

Test details

Test 1

Verdict: ACCEPTED

input
ABABABABABABABABABABABABABABAB...

correct output
ABABABABABABABABABABABABABABAB...

user output
ABABABABABABABABABABABABABABAB...

Test 2

Verdict: ACCEPTED

input
AABBAABBAABBAABBAABBAABBAABBAA...

correct output
(empty)

user output
(empty)

Test 3

Verdict: ACCEPTED

input
ABABABABABABABABABABABABABABAB...

correct output
(empty)

user output
(empty)

Test 4

Verdict: ACCEPTED

input
BBABABBBBBAABBBABABABBBBAAABAB...

correct output
BAB

user output
BAB

Test 5

Verdict: ACCEPTED

input
ACDCBBACDBBBACAACBBDBADBAABABA...

correct output
ACDCACDADBADABACACDCADADABABCA...

user output
ACDCACDADBADABACACDCADADABABCA...

Test 6

Verdict: ACCEPTED

input
EETFHIJOGACDHMGVFJCMETMZDEITTR...

correct output
TFHIJOGACDHMGVFJCMETMZDEIROTET...

user output
TFHIJOGACDHMGVFJCMETMZDEIROTET...

Test 7

Verdict: ACCEPTED

input
GOONLAHLYPRFCZKIKSJWAWWYJJPCDB...

correct output
GNLAHLYPRFCZKIKSJWAYPCDNWYMRCE...

user output
GNLAHLYPRFCZKIKSJWAYPCDNWYMRCE...

Test 8

Verdict: ACCEPTED

input
PISHWMOTCDDZFRMYMOMYDYYGJZIQHS...

correct output
PISHWMOTCZFRMYMOMYDGJZIQHSVAOK...

user output
PISHWMOTCZFRMYMOMYDGJZIQHSVAOK...

Test 9

Verdict: ACCEPTED

input
QUVVTPXAMWWODFXRONJODPGBTCISGM...

correct output
QUTPXAMODFXRONJODPGBTCISGMVRBW...

user output
QUTPXAMODFXRONJODPGBTCISGMVRBW...

Test 10

Verdict: ACCEPTED

input
POXHAHYEZTLYNFSLABODMRNKDSKROZ...

correct output
POXHAHYEZTLYNFSLABODMRNKDSKROZ...

user output
POXHAHYEZTLYNFSLABODMRNKDSKROZ...