| Task: | Elevator Trouble |
| Sender: | Team Brainfuck |
| Submission time: | 2016-09-04 00:53:00 +0300 |
| Language: | C++ |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.06 s | details |
| #2 | ACCEPTED | 0.06 s | details |
| #3 | ACCEPTED | 0.04 s | details |
| #4 | ACCEPTED | 0.04 s | details |
| #5 | ACCEPTED | 0.05 s | details |
| #6 | ACCEPTED | 0.05 s | details |
| #7 | ACCEPTED | 0.06 s | details |
| #8 | ACCEPTED | 0.06 s | details |
| #9 | ACCEPTED | 0.05 s | details |
| #10 | ACCEPTED | 0.06 s | details |
| #11 | ACCEPTED | 0.05 s | details |
| #12 | ACCEPTED | 0.05 s | details |
Code
#include <iostream>
#include <cmath>
#include <stdio.h>
#include <vector>
using namespace std;
long long f, s, g, u, d, v;
bool b = 0;
vector<bool> q(10000001, 0);
int main() {
v = 0;
cin >> f >> s >> g >> u >> d;
if (s == g) cout << 0;
while (s != g)
{
b = 0;
v++;
if (s + u == g || s - d == g)
{
cout << v;
break;
}
if (s < g)
{
if (u == 0)
{
cout << "use the stairs";
break;
}
if (s + u <= f)
{
if (q[s + u] == 0)
{
s += u;
q[s] = 1;
b = 1;
}
}
else
{
if (s - d >= 1)
{
if (q[s - d] == 0)
{
s -= d;
q[s] = 1;
b = 1;
}
}
else
{
cout << "use the stairs";
break;
}
}
}
else
{
if (d == 0)
{
cout << "use the stairs";
break;
}
if (s - d >= 1)
{
if (q[s - d] == 0)
{
s -= d;
q[s] = 1;
b = 1;
}
}
else
{
if (s + u <= f)
{
if (q[s + u] == 0)
{
s += u;
q[s] = 1;
b = 1;
}
}
else
{
cout << "use the stairs";
break;
}
}
}
if (b == 0)
{
cout << "use the stairs";
break;
}
}
}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 |
