제출 #1201424

#제출 시각아이디문제언어결과실행 시간메모리
1201424adiyerPairs (IOI07_pairs)C++20
20 / 100
4094 ms4468 KiB
#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); if(d < 0) continue; for(ll i = 0; i < v[i1][j1].size(); i++){ if(v[i2][j2].empty()) continue; 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 << d << ' ' << i1 << ' ' << j1 << ' ' << v[i1][j1][i] << ' ' << i2 << ' ' << j2 << ' ' << (R - L + 1) << '\n'; } } } } } cout << (res - n) / 2; } } signed main(){ ios_base::sync_with_stdio(0); cin.tie(0); int tt = 1; // cin >> tt; while(tt--) solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...