CSES - Aalto Competitive Programming 2024 - wk12 - Wed - Results
Submission details
Task:Counter
Sender:Niilo
Submission time:2024-11-27 16:48:15 +0200
Language:C++ (C++17)
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.00 sdetails
#2ACCEPTED0.00 sdetails
#3ACCEPTED0.00 sdetails
#4ACCEPTED0.00 sdetails
#5ACCEPTED0.00 sdetails
#6ACCEPTED0.00 sdetails
#7ACCEPTED0.00 sdetails
#8ACCEPTED0.00 sdetails
#9ACCEPTED0.00 sdetails
#10ACCEPTED0.00 sdetails
#11ACCEPTED0.00 sdetails
#12ACCEPTED0.00 sdetails
#13ACCEPTED0.00 sdetails
#14ACCEPTED0.00 sdetails
#15ACCEPTED0.00 sdetails
#16ACCEPTED0.00 sdetails
#17ACCEPTED0.00 sdetails
#18ACCEPTED0.00 sdetails
#19ACCEPTED0.00 sdetails
#20ACCEPTED0.00 sdetails
#21ACCEPTED0.00 sdetails
#22ACCEPTED0.00 sdetails
#23ACCEPTED0.00 sdetails
#24ACCEPTED0.00 sdetails
#25ACCEPTED0.00 sdetails
#26ACCEPTED0.01 sdetails
#27ACCEPTED0.02 sdetails

Code

#include <iostream>
#include <cmath>
#include <vector>
#include <cassert>
#include <algorithm>
#include <queue>
using namespace std;
#define rep(i, a, b) for(int i=a;i<(b);++i)
#define all(x) begin(x),end(x)
#define sz(x) int((x).size())
using ll = long long;
using pii = pair<int,int>;
using vi = vector<int>;

const int N = 1e6+1;
bool R[N];

int main() {
  int x;
  cin >> x;
  priority_queue<pair<int,int>> q;
  q.push({0,0});
  R[0] = 1;
  while (!q.empty()) {
    auto [s,n] = q.top(); q.pop();
    if (n == x) {
      cout << s << '\n';
      return 0;
    }
    if (n-2 >= 0 && !R[n-2]) {
      R[n-2] = 1;
      q.push({s+1,n-2});
    }
    if (n+11 <= x && !R[n+11]) {
      R[n+11] = 1;
      q.push({s+1,n+11});
    }
  }
  cout << "-1\n";
}

Test details

Test 1

Verdict: ACCEPTED

input
0

correct output
0

user output
0

Test 2

Verdict: ACCEPTED

input
1

correct output
-1

user output
-1

Test 3

Verdict: ACCEPTED

input
2

correct output
-1

user output
-1

Test 4

Verdict: ACCEPTED

input
10

correct output
-1

user output
-1

Test 5

Verdict: ACCEPTED

input
11

correct output
1

user output
1

Test 6

Verdict: ACCEPTED

input
23

correct output
8

user output
8

Test 7

Verdict: ACCEPTED

input
90

correct output
20

user output
20

Test 8

Verdict: ACCEPTED

input
8

correct output
-1

user output
-1

Test 9

Verdict: ACCEPTED

input
88

correct output
8

user output
8

Test 10

Verdict: ACCEPTED

input
2

correct output
-1

user output
-1

Test 11

Verdict: ACCEPTED

input
62

correct output
8

user output
8

Test 12

Verdict: ACCEPTED

input
53

correct output
6

user output
6

Test 13

Verdict: ACCEPTED

input
55

correct output
5

user output
5

Test 14

Verdict: ACCEPTED

input
84

correct output
10

user output
10

Test 15

Verdict: ACCEPTED

input
72

correct output
16

user output
16

Test 16

Verdict: ACCEPTED

input
71

correct output
10

user output
10

Test 17

Verdict: ACCEPTED

input
16

correct output
5

user output
5

Test 18

Verdict: ACCEPTED

input
86

correct output
9

user output
9

Test 19

Verdict: ACCEPTED

input
81

correct output
18

user output
18

Test 20

Verdict: ACCEPTED

input
19

correct output
10

user output
10

Test 21

Verdict: ACCEPTED

input
21

correct output
9

user output
9

Test 22

Verdict: ACCEPTED

input
249

correct output
25

user output
25

Test 23

Verdict: ACCEPTED

input
835

correct output
83

user output
83

Test 24

Verdict: ACCEPTED

input
94

correct output
18

user output
18

Test 25

Verdict: ACCEPTED

input
10000

correct output
915

user output
915

Test 26

Verdict: ACCEPTED

input
100000

correct output
9098

user output
9098

Test 27

Verdict: ACCEPTED

input
1000000

correct output
90915

user output
90915