Submission #992689

#TimeUsernameProblemLanguageResultExecution timeMemory
992689ezzzayPairs (IOI07_pairs)C++14
47 / 100
4078 ms5072 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;
	for(int i=0;i<N;i++){
		int x,y;
		cin>>x>>y;
		v.pb({x,y});
	}
	int cnt=0;
	for(int i=0;i<N;i++){
		for(int j=i+1;j<N;j++){
			int d=abs(v[i].ff-v[j].ff)+abs(v[i].ss-v[j].ss);
			if(d<=D)cnt++;
		}
	}
	cout<<cnt;
}
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);
}
#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...