Submission #992690

#TimeUsernameProblemLanguageResultExecution timeMemory
992690ezzzayPairs (IOI07_pairs)C++14
54 / 100
4065 ms8896 KiB
#include<bits/stdc++.h> using namespace std; #define ff first #define ss second #define pb push_back #define int long long const int N=3e5+5; void sbtsk1(int N, int D , int M){ vector<int>v; for(int i=0;i<N;i++){ int a; cin>>a; v.pb(a); } sort(v.begin(),v.end()); int cnt=0; for(auto i=v.begin();i!=v.end();i++){ int a=*i; auto it= upper_bound(v.begin(),v.end(),a-D-1); cnt+= i-it; } cout<<cnt; } void sbtsk2(int N, int D , int M){ vector<pair<int,int>>v; vector<int>vx[M+23]; vector<int>vy[M+23]; for(int i=0;i<N;i++){ int x,y; cin>>x>>y; vx[x].pb(y); vy[y].pb(x); v.pb({x,y}); } for(int i=0;i<=M;i++){ sort(vx[i].begin(),vx[i].end()); } int cnt=0; for(int i=0;i<N;i++){ int x=v[i].ff; int y=v[i].ss; int p=0; for(int x1=0;x1<=M;x1++){ if(abs(x1-x)>D)continue; if(vx[x1].empty())continue; int k=D-abs(x-x1); auto lo=upper_bound(vx[x1].begin(),vx[x1].end(),y-k-1); auto hi=upper_bound(vx[x1].begin(),vx[x1].end(),k+y); cnt+=hi-lo; } cnt--; } cout<<cnt/2; } void sbtsk3(int N, int D, int M){ vector<pair<pair<int,int>,int>>v; for(int i=0;i<N;i++){ int x,y,z; cin>>x>>y>>z; v.pb({{x,y},z}); } int cnt=0; for(int i=0;i<N;i++){ for(int j=i+1;j<N;j++){ int d=abs(v[i].ff.ff-v[j].ff.ff)+abs(v[i].ff.ss-v[j].ff.ss)+abs(v[i].ss-v[j].ss); if(d<=D)cnt++; } } cout<<cnt; } signed main(){ int B,N,D,M; cin>>B>>N>>D>>M; if(B==1){ sbtsk1(N,D,M); return 0; } if(B==2){ sbtsk2(N,D,M); return 0; } sbtsk3(N,D,M); }

Compilation message (stderr)

pairs.cpp: In function 'void sbtsk2(long long int, long long int, long long int)':
pairs.cpp:43:7: warning: unused variable 'p' [-Wunused-variable]
   43 |   int p=0;
      |       ^
#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...