CSES - Datatähti 2021 alku - Results
Submission details
Task:2021-luvut
Sender:Eljas
Submission time:2020-10-08 20:44:57 +0300
Language:C++ (C++17)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
#40
Test results
testverdicttimegroup
#1ACCEPTED0.01 s1, 2, 3, 4details
#20.01 s1, 2, 3, 4details
#30.01 s1, 2, 3, 4details
#40.01 s1, 2, 3, 4details
#50.01 s1, 2, 3, 4details
#60.01 s1, 2, 3, 4details
#70.01 s1, 2, 3, 4details
#80.01 s1, 2, 3, 4details
#90.01 s1, 2, 3, 4details
#100.01 s1, 2, 3, 4details
#110.09 s2, 3, 4details
#120.02 s2, 3, 4details
#130.07 s2, 3, 4details
#140.03 s2, 3, 4details
#150.06 s2, 3, 4details
#160.09 s2, 3, 4details
#170.06 s2, 3, 4details
#180.09 s2, 3, 4details
#190.08 s2, 3, 4details
#200.05 s2, 3, 4details
#21--3, 4details
#22--3, 4details
#23--3, 4details
#24--3, 4details
#25--3, 4details
#26--3, 4details
#27--3, 4details
#28--3, 4details
#29--3, 4details
#30--3, 4details
#31--4details
#32--4details
#33--4details
#34--4details
#35--4details
#36--4details
#37--4details
#38--4details
#39--4details
#40--4details

Code

#include <string>
#include <iostream>
#include <algorithm>
void addThousand(std::string& s) {
int size = s.size();
std::string fh = s.substr(0, size - 3);
std::string sh = s.substr(size - 3, 4);
if (fh == "")
{
s = "1" + sh;
}
else {
long long l = std::stoll(fh);
l++;
std::string ls = std::to_string(l);
s = ls + sh;
while (std::count(s.begin(), s.end(), '2') < 2)
{
l++;
ls = std::to_string(l);
s = ls + sh;
}
/*if (s[0] == '2' && fh[0] != '2')
{
int it = 1;
while (s[it] != '2') {
it++;
}
s[it] = '0';
}*/
}
}
void addHundred(std::string& s) {
int size = s.size();
if (s[size - 3] == '0')
{
if (s[size - 4] == '0')
{
s[size - 3] = '1';
}
else //if (s[size - 4] == '2')
{
std::string fh = s.substr(0, size - 3);
if (s[size - 4] == '1' && fh.find('0') != std::string::npos)
{
s[size - 3] = '1';
}
else
{
addThousand(s);
}
return;
}
}
else if (s[size - 3] == '9') {
s[size - 3] = '0';
addThousand(s);
return;
}
else
{
s[size - 3]++;
}
}
void addTen(std::string& s) {
int size = s.size();
if (s[size - 2] == '2')
{
if (s[size - 3] == '0')
{
addHundred(s);
return;
}
else if (s[size - 3] == '1')
{
s[size - 2] = '0';
addHundred(s);
return;
}
else if (s[size - 3] == '2')
{
s[size - 2]++;
}
else
{
addHundred(s);
}
}
else if (s[size - 2] == '9')
{
s[size - 2] = '2';
s[size - 3] = '3';
}
else {
s[size - 2]++;
}
}
void addOne(std::string& s) {
int size = s.size();
if (s[size - 1] == '1')
{
if (s[size - 2] == '0')
{
s[size - 1] = '0';
s[size - 2] = '1';
return;
}
else if (s[size - 2] == '1')
{
s[size - 1] = '2';
return;
}
else
{
addTen(s);
return;
}
}
else if (s[size - 1] == '9')
{
s[size - 1] = '1';
addTen(s);
}
else {
s[size - 1]++;
}
}
int main() {
int n;
std::cin >> n;
std::string s = "2021";
for (int i = 0; i < n - 1; i++)
{
addOne(s);
}
std::cout << s;
}

Test details

Test 1

Group: 1, 2, 3, 4

Verdict: ACCEPTED

input
10

correct output
20214

user output
20214

Test 2

Group: 1, 2, 3, 4

Verdict:

input
359

correct output
202661

user output
260261

Test 3

Group: 1, 2, 3, 4

Verdict:

input
392

correct output
202819

user output
270221

Test 4

Group: 1, 2, 3, 4

Verdict:

input
715

correct output
230721

user output
752021

Test 5

Group: 1, 2, 3, 4

Verdict:

input
278

correct output
202219

user output
240217

Test 6

Group: 1, 2, 3, 4

Verdict:

input
296

correct output
202318

user output
241021

Test 7

Group: 1, 2, 3, 4

Verdict:

input
427

correct output
203214

user output
280218

Test 8

Group: 1, 2, 3, 4

Verdict:

input
565

correct output
208212

user output
420921

Test 9

Group: 1, 2, 3, 4

Verdict:

input
289

correct output
202311

user output
240321

Test 10

Group: 1, 2, 3, 4

Verdict:

input
342

correct output
202581

user output
260021

Test 11

Group: 2, 3, 4

Verdict:

input
964486

correct output
182502018

user output
416727021

Test 12

Group: 2, 3, 4

Verdict:

input
110979

correct output
20296916

user output
62920721

Test 13

Group: 2, 3, 4

Verdict:

input
759149

correct output
126108721

user output
295810271

Test 14

Group: 2, 3, 4

Verdict:

input
234934

correct output
25023210

user output
133220211

Test 15

Group: 2, 3, 4

Verdict:

input
610310

correct output
120288133

user output
262036021

Test 16

Group: 2, 3, 4

Verdict:

input
956690

correct output
182027419

user output
411290821

Test 17

Group: 2, 3, 4

Verdict:

input
608459

correct output
120281827

user output
261590821

Test 18

Group: 2, 3, 4

Verdict:

input
944777

correct output
175260251

user output
402832021

Test 19

Group: 2, 3, 4

Verdict:

input
880780

correct output
152270421

user output
352660821

Test 20

Group: 2, 3, 4

Verdict:

input
418357

correct output
68202361

user output
219060216

Test 21

Group: 3, 4

Verdict:

input
713294506861

correct output
20099206371786

user output
(empty)

Test 22

Group: 3, 4

Verdict:

input
191431126351

correct output
4193020274761

user output
(empty)

Test 23

Group: 3, 4

Verdict:

input
778422318223

correct output
20247733120134

user output
(empty)

Test 24

Group: 3, 4

Verdict:

input
931090767075

correct output
20691282041612

user output
(empty)

Test 25

Group: 3, 4

Verdict:

input
198806129726

correct output
4275365802196

user output
(empty)

Test 26

Group: 3, 4

Verdict:

input
724343399444

correct output
20128443204610

user output
(empty)

Test 27

Group: 3, 4

Verdict:

input
105064053560

correct output
2350677231115

user output
(empty)

Test 28

Group: 3, 4

Verdict:

input
236866700902

correct output
5872395029521

user output
(empty)

Test 29

Group: 3, 4

Verdict:

input
696349488695

correct output
20034225603103

user output
(empty)

Test 30

Group: 3, 4

Verdict:

input
30929267826

correct output
1205256095901

user output
(empty)

Test 31

Group: 4

Verdict:

input
576379198814226780

correct output
4185251600926331891

user output
(empty)

Test 32

Group: 4

Verdict:

input
291698664446913099

correct output
2280132983584730156

user output
(empty)

Test 33

Group: 4

Verdict:

input
693146378550043345

correct output
5270258230724009910

user output
(empty)

Test 34

Group: 4

Verdict:

input
685982323362439932

correct output
5236052744416920782

user output
(empty)

Test 35

Group: 4

Verdict:

input
838865925103308874

correct output
6800200426815679149

user output
(empty)

Test 36

Group: 4

Verdict:

input
766426223219980635

correct output
6112960212822572807

user output
(empty)

Test 37

Group: 4

Verdict:

input
652970397451919317

correct output
4923188580186259818

user output
(empty)

Test 38

Group: 4

Verdict:

input
188458586650539464

correct output
1903508375720755921

user output
(empty)

Test 39

Group: 4

Verdict:

input
157646989818721527

correct output
1525038392797601315

user output
(empty)

Test 40

Group: 4

Verdict:

input
898606361978236778

correct output
7326676702587314407

user output
(empty)