forked from iamvickynguyen/Kattis-Solutions
-
Notifications
You must be signed in to change notification settings - Fork 0
/
birds.cpp
48 lines (40 loc) · 948 Bytes
/
birds.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <bits/stdc++.h>
using namespace std;
typedef pair<int, int> pii;
typedef long long ll;
typedef vector<int> vi;
typedef vector<vector<int>> vvi;
typedef priority_queue<int, vector<int>, greater<int>> minpq;
typedef unordered_set<int> usi;
typedef unordered_map<int, vi> ivi;
typedef unordered_map<int, int> ii;
#define all(x) (x).begin(), (x).end()
#define pb push_back
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int l, d, n;
cin >> l >> d >> n;
if (n == 0) {
cout << (l - 12)/d + 1;
} else {
vi birds(n);
for (int i = 0; i < n; i++) cin >> birds[i];
sort(all(birds));
int ans = 0;
for (int i = 0; i < n - 1; i++) {
int k = (birds[i + 1] - birds[i])/d - 1;
if (k > 0) ans += k;
}
if (birds[0] != 6) {
int k = (birds[0] - 6)/d;
if (k > 0) ans += k;
}
if (birds[n - 1] != l - 6) {
int k = (l - 6 - birds[n - 1])/d;
if (k > 0) ans += k;
}
cout << ans;
}
return 0;
}