CSES - KILO 2015 0/5 - Results
Submission details
Task:Elevator Trouble
Sender:quasisphere
Submission time:2015-09-02 20:55:20 +0300
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.04 sdetails
#2ACCEPTED0.05 sdetails
#3ACCEPTED0.06 sdetails
#4ACCEPTED0.05 sdetails
#5ACCEPTED0.05 sdetails
#6ACCEPTED0.05 sdetails
#7ACCEPTED0.05 sdetails
#8ACCEPTED0.05 sdetails
#9ACCEPTED0.05 sdetails
#10ACCEPTED0.06 sdetails
#11ACCEPTED0.05 sdetails
#12ACCEPTED0.04 sdetails

Code

#include<iostream>
#include<vector>
#include<map>
#include<set>
#include<algorithm>
#include<cmath>
#include<utility>
#include<queue>

using namespace std;

int main(void) {
  int64_t f,s,g,u,d;
  cin >> f >> s >> g >> u >> d;
  vector<int64_t> moves(f+1,-1);
  queue<int64_t> bfs;
  bfs.push(s);
  moves[s]=0;
  while(!bfs.empty()) {
    int64_t cur=bfs.front();
    bfs.pop();

    if(cur + u <= f && moves[cur+u] == -1) {
      moves[cur+u]=moves[cur]+1;
      bfs.push(cur+u);
    }
    if(cur - d >= 1 && moves[cur-d] == -1) {
      moves[cur-d]=moves[cur]+1;
      bfs.push(cur-d);
    }
  }
  if(moves[g] == -1) {
    cout << "use the stairs\n";
  } else {
    cout << moves[g] << "\n";
  }
  return 0;
}

Test details

Test 1

Verdict: ACCEPTED

input
10 1 10 2 1

correct output
6

user output
6

Test 2

Verdict: ACCEPTED

input
100 2 1 1 0

correct output
use the stairs

user output
use the stairs

Test 3

Verdict: ACCEPTED

input
1000000 1 1000000 1 1

correct output
999999

user output
999999

Test 4

Verdict: ACCEPTED

input
1000000 1 1000000 0 1

correct output
use the stairs

user output
use the stairs

Test 5

Verdict: ACCEPTED

input
1000000 1 1000000 0 0

correct output
use the stairs

user output
use the stairs

Test 6

Verdict: ACCEPTED

input
1000000 1 1000000 1 0

correct output
999999

user output
999999

Test 7

Verdict: ACCEPTED

input
1000000 1000000 1 0 1

correct output
999999

user output
999999

Test 8

Verdict: ACCEPTED

input
1000000 2 99999 2 1

correct output
50000

user output
50000

Test 9

Verdict: ACCEPTED

input
10 5 4 6 2

correct output
use the stairs

user output
use the stairs

Test 10

Verdict: ACCEPTED

input
1000000 1000000 1000000 100000...

correct output
0

user output
0

Test 11

Verdict: ACCEPTED

input
456789 2 456789 2 1

correct output
228395

user output
228395

Test 12

Verdict: ACCEPTED

input
100 50 51 4 6

correct output
use the stairs

user output
use the stairs