Submission #697335

#TimeUsernameProblemLanguageResultExecution timeMemory
697335starplatPairs (IOI07_pairs)C++14
30 / 100
1089 ms7628 KiB
#include <bits/stdc++.h> #define int long long #define mp make_pair using namespace std; int b,n,d,m,ans; void d1(){ vector<int> c; for (int i=0;i<n;i++){ c.push_back(0); cin>>c[i]; } sort(c.begin(),c.end()); int pt=0; for (int i=0;i<n;i++){ while (pt+1<n && c[pt+1]<=c[i]+d) ++pt; ans+=pt-i; } } void d2(){ vector<pair<int,int>> c; } int frq[85][85][85]; void d3(){ vector<pair<int,pair<int,int>>> q; for (int i=0;i<n;i++){ q.push_back(mp(0,mp(0,0))); cin>>q[i].first>>q[i].second.first>>q[i].second.second; frq[q[i].second.first][q[i].second.second][q[i].first]++; } for (int i=1;i<=m;i++){ for (int j=1;j<=m;j++){ for (int k=1;k<=m;k++) { frq[i][j][k]+=frq[i][j][k-1]; } } } for (auto k:q){ for (int i=1;i<=m;i++){ for (int j=1;j<=m;j++){ int dist=d-abs(i-k.second.first)-abs(j-k.second.second); if (dist<0) continue; ans+=frq[i][j][min(m,k.first+dist)]-frq[i][j][max(0LL,k.first-dist)]; } } } } signed main(){ cin>>b>>n>>d>>m; if (b==1) d1(); else if (b==2) d2(); else d3(); cout<<ans<<"\n"; }
#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...