CSES - Datatähti 2021 alku - Results
Submission details
Task:2021-luvut
Sender:AtskaFin
Submission time:2020-10-08 12:50:26 +0300
Language:C++ (C++17)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
#40
Test results
testverdicttimegroup
#10.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
#11--2, 3, 4details
#120.28 s2, 3, 4details
#130.80 s2, 3, 4details
#140.40 s2, 3, 4details
#150.62 s2, 3, 4details
#16--2, 3, 4details
#170.62 s2, 3, 4details
#18--2, 3, 4details
#19--2, 3, 4details
#20--2, 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 <iostream>
#include <vector>
 
typedef long long ll;
using namespace std;
 
vector<int> luku = { 1, 2, 0, 2 };

vector<ll> breakpoints = {
  /*4*/  1,
  /*5*/  46,
  /*6*/  1270,
  /*7*/  27280,
  /*8*/  502435, // toimii
  /*9*/  8331094, // toimii
  /*10*/ 127951984,
  /*11*/ 1853476120,
  /*12*/ 25637470165,
  /*13*/ 341607209230,
  /*14*/ 4413292430986,
  /*15*/ 55555630007536,
  /*16*/ 684061739174215,
  /*17*/ 8264062255606390,
  /*18*/ 98196841425437380,
};

bool test(int x) {
  int i = 0;
  while (x != 0) {
    if (x%10 == luku[i]) {
      if (++i == 4) return true;
    }
    x /= 10;
  }
 
  return false;
}
 
int c = 0;
int n;
 
int main() {
  cin >> n;

  ll curr = 0;
  for (int i = 14; i >= 0; i--) {
    if (n > breakpoints[i]) {
      c = breakpoints[i];
      cout << n-breakpoints[i] << endl;
      curr = 10000;
      for (int j = 0; j < i; j++) {
        curr *= 10;
      }
      curr += 2020;
      break;
    }
  }
  
  for (; curr > -1; curr++) {
    if (test(curr)) {
      //cout << c+1 << ": " << i << "\n";
      if (++c == n) {
        cout << curr << "\n";
        break;
      }
    }
  }
}

//4 : pohjatapaus => 1

//5-4 = 1 => 1 palloa 5 => 5 tapaa 5*9+edelliset(1) = 46

//9+9+9+9+9 = 45+1 => 46

//6-4 => 2 => 2 palloa 6 => 15 tapaa 15*9+edelliset(46)+9 = 1270

//720 / 48 = 15


// 7-4 => 3 => 3 palloa 7 => 35 tapaa 35*9*9*9+edelliset(1270) = 27280


// 8 - 4 => 4 palloa 8 => 70 tapaa 70*9*9*9*9+edelliset(27280)
// + 1270*9 + 46*9*9 + 1*9*9*9 = 502435

Test details

Test 1

Group: 1, 2, 3, 4

Verdict:

input
10

correct output
20214

user output
9
20214

Test 2

Group: 1, 2, 3, 4

Verdict:

input
359

correct output
202661

user output
313
202661

Test 3

Group: 1, 2, 3, 4

Verdict:

input
392

correct output
202819

user output
346
202819

Test 4

Group: 1, 2, 3, 4

Verdict:

input
715

correct output
230721

user output
669
230721

Test 5

Group: 1, 2, 3, 4

Verdict:

input
278

correct output
202219

user output
232
202219

Test 6

Group: 1, 2, 3, 4

Verdict:

input
296

correct output
202318

user output
250
202318

Test 7

Group: 1, 2, 3, 4

Verdict:

input
427

correct output
203214

user output
381
203214

Test 8

Group: 1, 2, 3, 4

Verdict:

input
565

correct output
208212

user output
519
208212

Test 9

Group: 1, 2, 3, 4

Verdict:

input
289

correct output
202311

user output
243
202311

Test 10

Group: 1, 2, 3, 4

Verdict:

input
342

correct output
202581

user output
296
202581

Test 11

Group: 2, 3, 4

Verdict:

input
964486

correct output
182502018

user output
(empty)

Test 12

Group: 2, 3, 4

Verdict:

input
110979

correct output
20296916

user output
83699
20296916

Test 13

Group: 2, 3, 4

Verdict:

input
759149

correct output
126108721

user output
256714
126108721

Test 14

Group: 2, 3, 4

Verdict:

input
234934

correct output
25023210

user output
207654
25023210

Test 15

Group: 2, 3, 4

Verdict:

input
610310

correct output
120288133

user output
107875
120288133

Test 16

Group: 2, 3, 4

Verdict:

input
956690

correct output
182027419

user output
(empty)

Test 17

Group: 2, 3, 4

Verdict:

input
608459

correct output
120281827

user output
106024
120281827

Test 18

Group: 2, 3, 4

Verdict:

input
944777

correct output
175260251

user output
(empty)

Test 19

Group: 2, 3, 4

Verdict:

input
880780

correct output
152270421

user output
(empty)

Test 20

Group: 2, 3, 4

Verdict:

input
418357

correct output
68202361

user output
(empty)

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)