#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5 + 11;
ll B, n, k, m, res;
ll a[N], b[N], c[N];
vector < ll > v[100][100];
void solve(){
cin >> B >> n >> k >> m;
if(B == 3){
for(ll i = 1; i <= n; i++) cin >> a[i] >> b[i] >> c[i], v[a[i]][b[i]].push_back(c[i]);
for(ll i = 1; i <= m; i++)
for(ll j = 1; j <= m; j++)
sort(v[i][j].begin(), v[i][j].end());
for(ll i1 = 1; i1 <= m; i1++){
for(ll j1 = 1; j1 <= m; j1++){
for(ll i2 = 1; i2 <= m; i2++){
for(ll j2 = 1; j2 <= m; j2++){
ll d = k - abs(i1 - i2) - abs(j1 - j2);
for(ll i = 0; i < v[i1][j1].size(); i++){
ll L, R, l, r;
l = -1, r = v[i2][j2].size();
while(r - l > 1){
ll md = (l + r) / 2;
if(v[i2][j2][md] + d >= v[i1][j1][i]) r = md;
else l = md;
}
L = r + 1;
l = -1, r = v[i2][j2].size();
while(r - l > 1){
ll md = (l + r) / 2;
if(v[i2][j2][md] - d <= v[i1][j1][i]) l = md;
else r = md;
}
R = l + 1;
res += (R - L + 1);
}
}
}
}
}
cout << res / 2;
}
}
signed main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
int tt = 1;
// cin >> tt;
while(tt--) solve();
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |