Submission #619631

#TimeUsernameProblemLanguageResultExecution timeMemory
6196311nePairs (IOI07_pairs)C++14
18 / 100
446 ms293740 KiB
#include<bits/stdc++.h>
using namespace std;

int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	int b,n,d,m;cin>>b>>n>>d>>m;
	if (b == 1){
		vector<int>arr(m + 1,0);
		for (int i = 0;i<n;++i){
			int a;cin>>a;
			arr[a]++;
		}
		for (int i = 1;i<=m;++i){
			arr[i]+=arr[i - 1];
		}
		long long ans = arr[d] * (arr[d] - 1)/2;
		for (int i = d + 1;i<=m;++i){
			//cout<<i<<" "<<(arr[i] - arr[i - 1])<<" "<<arr[i - 1] - arr[i - d - 1]<<'\n';
			long long pos = (arr[i] - arr[i - 1]) * (arr[i - 1] - arr[i - d - 1]);
			ans+=pos;
			ans+=(arr[i] - arr[i - 1]) * (arr[i] - arr[i - 1] - 1)/2;
		}
		cout<<ans<<'\n';
	}
	else if (b == 2){
		
	}
	else{
		
	}
	return 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...