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

Compiler report

input/code.cpp: In function 'std::string d(std::string)':
input/code.cpp:8:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int i = 0; i < l; i++) {
                       ^
input/code.cpp:15:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int j = 1; i + j < l; j++) {
                             ^

Code

#include <iostream>
#include <string>


std::string d(std::string s) {
  unsigned l = s.length(); // length of the string // counter
                           // iterate over the string
  for (int i = 0; i < l; i++) {
    l = s.length();
    if (l <= 1) {
      return s;
    }
    int c = 1;
    // increment counter for every identical consecutive character, counter starts at 1 to include the character at i
    for (int j = 1; i + j < l; j++) {
      if (s.at(i) == s.at(i + j)) {
        c++;
      }
      else {
        break;
      }
    }
    if (c > 1) {
      s.erase(i, c); // erase c characters starting at index i
      i = -1; // i will be incremented to 0 when the loop starts again
    }
  }
  return s;
}


int main() {
  std::string s;
  std::cin >> s;

  std::cout << d(s);

  return 0;
}

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...