/* -*- coding: utf-8 -*- * * 3252.cc: No.3252 Constrained Moving - yukicoder */ #include #include using namespace std; /* constant */ const int MAX_N = 200000; /* typedef */ /* global variables */ int as[MAX_N]; /* subroutines */ /* main */ int main() { int n, s, t, k; scanf("%d%d%d%d", &n, &s, &t, &k); s--, t--; for (int i = 0; i < n; i++) scanf("%d", as + i); if (as[s] + as[t] <= k) puts("1"); else { int mina = *min_element(as, as + n); if (as[s] + mina <= k && mina + as[t] <= k) puts("2"); else puts("-1"); } return 0; }