알고리즘문제들/codeground
개구리 뛰기
Beabletoet
2017. 6. 17. 01:12
#include <cstdio>
using namespace std;
int main(int argc, char** argv) {
setbuf(stdout, NULL);
int T;
int test_case;
scanf("%d", &T);
for (test_case = 1; test_case <= T; ++test_case) {
int *a = new int[1000001];
int n, k, count = 1;
scanf("%d", &n);
for (int i = 1; i < n + 1; i++)
scanf("%d", &a[i]);
scanf("%d", &k);
int frog = k;
for (int i = 1; i < n + 1; i++)
{
if (a[i] <= frog)
continue;
else if ((a[i] - a[i - 1]) > k)
{
count = -1;
break;
}
++count;
frog = a[i - 1] + k;
}
printf("Case #%d\n%d\n", test_case, count);
delete[] a;
}
return 0;
}