Submission #872254

#TimeUsernameProblemLanguageResultExecution timeMemory
872254MatjazPairs (IOI07_pairs)C++14
47 / 100
4059 ms7176 KiB
// // IOI2007Pairs.cpp // // // Created by Matjaz Leonardis on 12/11/2023. // #include <iostream> #include <vector> #include <stdlib.h> #include <algorithm> using namespace std; int B,N,D,M; int main(){ cin >> B >> N >> D >> M; vector<vector<int> > c(N, vector<int> (B)); for (int i=0;i<N;i++){ for (int j=0;j<B;j++) cin >> c[i][j]; } if (B == 1){ long long pairs = 0; vector<int> x(N); for (int i=0;i<N;i++) x[i] = c[i][0]; sort(x.begin(), x.end()); for (int i=0;i<N;i++){ vector<int>::iterator start = lower_bound(x.begin(), x.end(), x[i] - D); vector<int>::iterator end = upper_bound(x.begin(), x.end(), x[i] + D); pairs += (end - start) - 1; } cout << pairs / 2 << endl; } else { long long pairs=0; for (int i=0;i<N;i++){ for (int j=i+1;j<N;j++){ long long distance = 0; for (int k=0;k<B;k++) distance += abs(c[i][k] - c[j][k]); if (distance <= D) pairs++; } } cout << pairs << endl; } 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...