CSES - Datatähti 2018 alku - Results
Submission details
Task:Merkkijono
Sender:Leiska
Submission time:2017-10-03 13:42:08 +0300
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
Test results
testverdicttime
#1ACCEPTED0.04 sdetails
#20.20 sdetails
#30.05 sdetails
#40.04 sdetails
#50.19 sdetails
#60.04 sdetails
#70.05 sdetails
#80.04 sdetails
#90.04 sdetails
#100.04 sdetails

Compiler report

input/code.cpp: In function 'std::string checkstr(std::string)':
input/code.cpp:13:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i = 0; i<str.length(); i++) {
                                 ^
input/code.cpp:18:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             if(i==(str.length()-1)) pos = i-len-1;
                                  ^

Code

#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
string input, check;
string checkstr(string str) {
int p = 1;
int len = 1;
int pos = 0;
for(int i = 0; i<str.length(); i++) {
//p = str[i];
if(i>0 && str[i]==str[i-1]) {
p++;
len = max(p,len);
if(i==(str.length()-1)) pos = i-len-1;
}
else if (p>len) {
len=p;
pos = i-len-1;
}
else {
p=1;
}
}
if (len<=1) return "\n";
return str.erase(pos,len);
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin >> input;
int end = 0;
while (end > -1) {
check = checkstr(input);
if (check == "\n") {
cout << input << "\n";
end--;
}
else input = check;
}
}

Test details

Test 1

Verdict: ACCEPTED

input
ABABABABABABABABABABABABABABAB...

correct output
ABABABABABABABABABABABABABABAB...

user output
ABABABABABABABABABABABABABABAB...

Test 2

Verdict:

input
AABBAABBAABBAABBAABBAABBAABBAA...

correct output
(empty)

user output
(empty)

Error:
terminate called after throwing an instance of 'std::out_of_range'
  what():  basic_string::erase

Test 3

Verdict:

input
ABABABABABABABABABABABABABABAB...

correct output
(empty)

user output
BABABABABABABABABABABABABABABA...

Test 4

Verdict:

input
BBABABBBBBAABBBABABABBBBAAABAB...

correct output
BAB

user output
ABAB

Test 5

Verdict:

input
ACDCBBACDBBBACAACBBDBADBAABABA...

correct output
ACDCACDADBADABACACDCADADABABCA...

user output
(empty)

Error:
terminate called after throwing an instance of 'std::out_of_range'
  what():  basic_string::erase

Test 6

Verdict:

input
EETFHIJOGACDHMGVFJCMETMZDEITTR...

correct output
TFHIJOGACDHMGVFJCMETMZDEIROTET...

user output
CTFVLVUORBWZXOFUCNUMROLYHWCMCF...

Test 7

Verdict:

input
GOONLAHLYPRFCZKIKSJWAWWYJJPCDB...

correct output
GNLAHLYPRFCZKIKSJWAYPCDNWYMRCE...

user output
XBUNYGPOTDYIWPYBZAHXPNECXPIWQY...

Test 8

Verdict:

input
PISHWMOTCDDZFRMYMOMYDYYGJZIQHS...

correct output
PISHWMOTCZFRMYMOMYDGJZIQHSVAOK...

user output
IVFTUSLJHINPIKEA

Test 9

Verdict:

input
QUVVTPXAMWWODFXRONJODPGBTCISGM...

correct output
QUTPXAMODFXRONJODPGBTCISGMVRBW...

user output
SKITRH

Test 10

Verdict:

input
POXHAHYEZTLYNFSLABODMRNKDSKROZ...

correct output
POXHAHYEZTLYNFSLABODMRNKDSKROZ...

user output
YSTPVGXPIFAHM