제출 #697321

#제출 시각아이디문제언어결과실행 시간메모리
697321abcdehelloPairs (IOI07_pairs)C++17
0 / 100
69 ms9404 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; ll ans,b,n,d,m; void _1d(){ if (d>m) d=m; vector<ll> a(n); for (int i=0;i<n;i++) cin >> a[i]; a.push_back(-1);a.push_back(INT_MAX); sort(a.begin(),a.end()); for (int i=1;i<=n;i++){ ans += (lower_bound(a.begin(),a.end(),a[i]+d+1)-lower_bound(a.begin(),a.end(),a[i]-d)-1); } cout << ans/2 << "\n"; } void _2d(){ } void _3d(){ if (d>3*m) d=3*m; vector<ll> a[80][80]; vector<pair<pair<ll,ll>,ll> > c(0); for (int i=0;i<=75;i++){ for (int j=0;j<=75;j++){ a[i][j].resize(0); a[i][j].push_back(-1); a[i][j].push_back(INT_MAX); } } for (int i=0;i<n;i++){ ll x,y,z; cin >> x >> y >> z; a[x][y].push_back(z); c.push_back({{x,y},z}); } for (int i=0;i<n;i++){ for (int j=0;j<n;j++) sort(a[i][j].begin(),a[i][j].end()); } for (int i=0;i<n;i++){ ll x=c[i].first.first,y=c[i].first.second,z=c[i].second; for (int xx=0;xx<=m;xx++){ for (int yy=0;yy<=m;yy++){ ll rem=d-abs(x-xx)-abs(y-yy); if (rem<0) continue; ll cnt=(lower_bound(a[xx][yy].begin(),a[xx][yy].end(),z+rem+1)-lower_bound(a[xx][yy].begin(),a[xx][yy].end(),z-rem)); ans += max(cnt-1,0LL); } } } cout << ans/2 << "\n"; } int main(){ cin >> b >> n >> d >> m; if (b==1) _1d(); else if (b==2) _2d(); else _3d(); }
#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...