| Task: | Jump |
| Sender: | Hansuzu |
| Submission time: | 2016-07-29 15:54:12 +0300 |
| Language: | C++ |
| Status: | READY |
| Result: | 0 |
| group | verdict | score |
|---|---|---|
| #1 | WRONG ANSWER | 0 |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.06 s | details |
| #2 | WRONG ANSWER | 0.05 s | details |
| #3 | ACCEPTED | 0.17 s | details |
| #4 | ACCEPTED | 0.17 s | details |
| #5 | ACCEPTED | 0.17 s | details |
| #6 | ACCEPTED | 0.17 s | details |
| #7 | ACCEPTED | 0.18 s | details |
| #8 | ACCEPTED | 0.16 s | details |
| #9 | WRONG ANSWER | 0.17 s | details |
| #10 | WRONG ANSWER | 0.16 s | details |
| #11 | ACCEPTED | 0.17 s | details |
| #12 | ACCEPTED | 0.17 s | details |
| #13 | ACCEPTED | 0.19 s | details |
| #14 | ACCEPTED | 0.17 s | details |
| #15 | ACCEPTED | 0.17 s | details |
| #16 | WRONG ANSWER | 0.17 s | details |
| #17 | WRONG ANSWER | 0.17 s | details |
| #18 | WRONG ANSWER | 0.18 s | details |
| #19 | WRONG ANSWER | 0.18 s | details |
| #20 | ACCEPTED | 0.14 s | details |
| #21 | WRONG ANSWER | 0.18 s | details |
| #22 | WRONG ANSWER | 0.17 s | details |
| #23 | WRONG ANSWER | 0.18 s | details |
| #24 | WRONG ANSWER | 0.17 s | details |
| #25 | WRONG ANSWER | 0.16 s | details |
| #26 | WRONG ANSWER | 0.15 s | details |
| #27 | WRONG ANSWER | 0.16 s | details |
| #28 | WRONG ANSWER | 0.18 s | details |
| #29 | WRONG ANSWER | 0.16 s | details |
| #30 | WRONG ANSWER | 0.15 s | details |
| #31 | WRONG ANSWER | 0.18 s | details |
| #32 | WRONG ANSWER | 0.18 s | details |
| #33 | WRONG ANSWER | 0.18 s | details |
| #34 | ACCEPTED | 0.17 s | details |
| #35 | WRONG ANSWER | 0.16 s | details |
| #36 | WRONG ANSWER | 0.16 s | details |
Code
#include <iostream>
using namespace std;
#define INF 1000000000
int N, Q;
int a[202];
int mnd0t[30303];
int mnd1t[30303];
int mnd0[30303];
int mnd1[30303];
bool okc(int a){
return a>=0 && a<30303;
}
int gmnd0(int a){
if (!okc(a)) return INF;
return mnd0[a];
}
int gmnd1(int a){
if (!okc(a)) return INF;
return mnd1[a];
}
int getm(int a, int b){b+=10101;
return min(gmnd0(b-a), gmnd1(b+a));
}
int main(){
for (int i=0; i<30303; ++i) mnd0[i]=mnd1[i]=mnd0t[i]=mnd1t[i]=INF;
cin >> N;
mnd0[10101]=mnd0t[10101]=0;
for (int i=0; i<N; ++i){
cin >> a[i]; a[i]+=10101;
for (int j=0; j<30303; ++j){
int jt=2*a[i]-j;
if (!okc(jt)) continue;
if (mnd0[j]!=INF){
mnd1t[jt]=min(mnd1t[jt], mnd0[j]+1);
}
if (mnd1[j]!=INF){
mnd0t[jt]=min(mnd0t[jt], mnd1[j]+1);
}
}
for (int j=0; j<30303; ++j){
mnd0[j]=mnd0t[j];
mnd1[j]=mnd1t[j];
}
}
cin >> Q;
for (int i=0; i<Q; ++i){
int s, t;
cin >> s >> t;
int ans=min(getm(t, s), getm(s, t));
if (ans==INF) cout << -1 << "\n";
else cout << ans << "\n";
}
}Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 4 1 2 4 7 ... |
| correct output |
|---|
| -1 -1 2 2 -1 ... |
| user output |
|---|
| -1 -1 2 2 -1 ... |
Test 2
Verdict: WRONG ANSWER
| input |
|---|
| 4 1 2 6 10 ... |
| correct output |
|---|
| -1 1 2 -1 1 ... |
| user output |
|---|
| -1 1 2 -1 1 ... |
Test 3
Verdict: ACCEPTED
| input |
|---|
| 200 12 14 30 101 ... |
| correct output |
|---|
| 2 2 1 2 2 ... |
| user output |
|---|
| 2 2 1 2 2 ... |
Test 4
Verdict: ACCEPTED
| input |
|---|
| 200 13 22 196 211 ... |
| correct output |
|---|
| 2 2 2 2 2 ... |
| user output |
|---|
| 2 2 2 2 2 ... |
Test 5
Verdict: ACCEPTED
| input |
|---|
| 200 10 41 107 167 ... |
| correct output |
|---|
| 2 1 2 2 2 ... |
| user output |
|---|
| 2 1 2 2 2 ... |
Test 6
Verdict: ACCEPTED
| input |
|---|
| 200 91 166 275 278 ... |
| correct output |
|---|
| 2 2 2 3 2 ... |
| user output |
|---|
| 2 2 2 3 2 ... |
Test 7
Verdict: ACCEPTED
| input |
|---|
| 200 18 104 138 182 ... |
| correct output |
|---|
| 2 2 2 2 2 ... |
| user output |
|---|
| 2 2 2 2 2 ... |
Test 8
Verdict: ACCEPTED
| input |
|---|
| 200 115 144 272 274 ... |
| correct output |
|---|
| 2 2 2 2 2 ... |
| user output |
|---|
| 2 2 2 2 2 ... |
Test 9
Verdict: WRONG ANSWER
| input |
|---|
| 200 84 177 208 219 ... |
| correct output |
|---|
| 2 2 2 2 1 ... |
| user output |
|---|
| 2 2 2 2 1 ... |
Test 10
Verdict: WRONG ANSWER
| input |
|---|
| 200 96 131 228 258 ... |
| correct output |
|---|
| 2 2 2 2 2 ... |
| user output |
|---|
| 2 2 2 2 2 ... |
Test 11
Verdict: ACCEPTED
| input |
|---|
| 200 0 77 132 189 ... |
| correct output |
|---|
| 2 2 2 2 2 ... |
| user output |
|---|
| 2 2 2 2 2 ... |
Test 12
Verdict: ACCEPTED
| input |
|---|
| 200 3 33 74 118 ... |
| correct output |
|---|
| 2 2 2 2 2 ... |
| user output |
|---|
| 2 2 2 2 2 ... |
Test 13
Verdict: ACCEPTED
| input |
|---|
| 200 95 162 171 448 ... |
| correct output |
|---|
| -1 -1 2 2 2 ... |
| user output |
|---|
| -1 -1 2 2 2 ... |
Test 14
Verdict: ACCEPTED
| input |
|---|
| 200 32 72 229 239 ... |
| correct output |
|---|
| 2 -1 2 2 -1 ... |
| user output |
|---|
| 2 -1 2 2 -1 ... |
Test 15
Verdict: ACCEPTED
| input |
|---|
| 200 30 124 136 176 ... |
| correct output |
|---|
| 2 -1 2 -1 2 ... |
| user output |
|---|
| 2 -1 2 -1 2 ... |
Test 16
Verdict: WRONG ANSWER
| input |
|---|
| 116 34 68 85 87 ... |
| correct output |
|---|
| 2 2 2 2 2 ... |
| user output |
|---|
| 2 2 2 2 2 ... |
Test 17
Verdict: WRONG ANSWER
| input |
|---|
| 112 64 264 268 298 ... |
| correct output |
|---|
| 2 2 2 2 2 ... |
| user output |
|---|
| 2 2 2 2 2 ... |
Test 18
Verdict: WRONG ANSWER
| input |
|---|
| 64 14 15 19 31 ... |
| correct output |
|---|
| 8 6 10 4 6 ... |
| user output |
|---|
| -1 -1 -1 -1 -1 ... |
Test 19
Verdict: WRONG ANSWER
| input |
|---|
| 200 0 1 2 3 ... |
| correct output |
|---|
| 14 14 8 6 40 ... |
| user output |
|---|
| -1 -1 -1 -1 -1 ... |
Test 20
Verdict: ACCEPTED
| input |
|---|
| 1 2231 100000 16 2 6 8 ... |
| correct output |
|---|
| -1 -1 -1 -1 -1 ... |
| user output |
|---|
| -1 -1 -1 -1 -1 ... |
Test 21
Verdict: WRONG ANSWER
| input |
|---|
| 2 1091 2342 100000 1588 4004 ... |
| correct output |
|---|
| -1 -1 -1 -1 -1 ... |
| user output |
|---|
| -1 -1 -1 -1 -1 ... |
Test 22
Verdict: WRONG ANSWER
| input |
|---|
| 3 144 151 440 100000 ... |
| correct output |
|---|
| 168 99 87 262 16 ... |
| user output |
|---|
| -1 -1 -1 -1 -1 ... |
Test 23
Verdict: WRONG ANSWER
| input |
|---|
| 4 2388 2979 6715 8029 ... |
| correct output |
|---|
| 10 52 47 56 77 ... |
| user output |
|---|
| -1 -1 -1 -1 -1 ... |
Test 24
Verdict: WRONG ANSWER
| input |
|---|
| 5 1371 1946 6455 6889 ... |
| correct output |
|---|
| 24 6 15 25 26 ... |
| user output |
|---|
| -1 -1 -1 -1 -1 ... |
Test 25
Verdict: WRONG ANSWER
| input |
|---|
| 6 1026 1031 4929 5038 ... |
| correct output |
|---|
| 18 9 11 12 8 ... |
| user output |
|---|
| -1 -1 -1 -1 -1 ... |
Test 26
Verdict: WRONG ANSWER
| input |
|---|
| 7 21 44 60 70 ... |
| correct output |
|---|
| 16 20 16 20 10 ... |
| user output |
|---|
| -1 -1 -1 -1 -1 ... |
Test 27
Verdict: WRONG ANSWER
| input |
|---|
| 8 95 627 710 784 ... |
| correct output |
|---|
| 6 4 5 5 6 ... |
| user output |
|---|
| -1 -1 -1 -1 -1 ... |
Test 28
Verdict: WRONG ANSWER
| input |
|---|
| 9 48 209 791 920 ... |
| correct output |
|---|
| 3 4 3 6 6 ... |
| user output |
|---|
| 3 -1 3 -1 -1 ... |
Test 29
Verdict: WRONG ANSWER
| input |
|---|
| 10 814 1017 1217 3259 ... |
| correct output |
|---|
| 4 6 6 4 6 ... |
| user output |
|---|
| -1 -1 -1 -1 -1 ... |
Test 30
Verdict: WRONG ANSWER
| input |
|---|
| 2 6748 9615 100000 6956 7730 ... |
| correct output |
|---|
| -1 -1 -1 -1 -1 ... |
| user output |
|---|
| -1 -1 -1 -1 -1 ... |
Test 31
Verdict: WRONG ANSWER
| input |
|---|
| 2 2955 5079 100000 5049 3601 ... |
| correct output |
|---|
| -1 -1 -1 -1 -1 ... |
| user output |
|---|
| -1 -1 -1 -1 -1 ... |
Test 32
Verdict: WRONG ANSWER
| input |
|---|
| 2 8591 9235 100000 6759 9705 ... |
| correct output |
|---|
| -1 -1 -1 -1 -1 ... |
| user output |
|---|
| -1 -1 -1 -1 -1 ... |
Test 33
Verdict: WRONG ANSWER
| input |
|---|
| 2 1847 2965 100000 6674 4858 ... |
| correct output |
|---|
| -1 -1 -1 -1 -1 ... |
| user output |
|---|
| -1 -1 -1 -1 -1 ... |
Test 34
Verdict: ACCEPTED
| input |
|---|
| 2 2033 7688 100000 4427 4007 ... |
| correct output |
|---|
| -1 -1 -1 -1 -1 ... |
| user output |
|---|
| -1 -1 -1 -1 -1 ... |
Test 35
Verdict: WRONG ANSWER
| input |
|---|
| 2 0 1 100000 3190 5237 ... |
| correct output |
|---|
| -1 -1 -1 4232 4266 ... |
| user output |
|---|
| -1 -1 -1 -1 -1 ... |
Test 36
Verdict: WRONG ANSWER
| input |
|---|
| 2 9999 10000 100000 4761 947 ... |
| correct output |
|---|
| 3814 1612 -1 -1 -1 ... |
| user output |
|---|
| -1 -1 -1 -1 -1 ... |
