Submission #95255

#TimeUsernameProblemLanguageResultExecution timeMemory
95255easruiPairs (IOI07_pairs)C++14
40 / 100
4093 ms1964 KiB
#include <bits/stdc++.h>
using namespace std;
const int MN = 1e5+5;

int B,N,D,M,X[MN],Y[MN],Z[MN],cnt;
long long ans;
int main()
{
    cin >> B >> N >> D >> M;
    if(B==1) {
        for(int i=0; i<N; i++)
            cin >> X[i];
        sort(X,X+N);
        for(int i=0; i<N; i++) {
            while(cnt<N && X[i]+D>=X[cnt])
                cnt++;
            ans += cnt-i-1;
        }
        cout << ans;
    } else {
        for(int i=0; i<N; i++)
            cin >> X[i] >> Y[i] >> Z[i];
        for(int i=0; i<N; i++) {
            for(int j=i+1; j<N; j++) {
                if(abs(X[i]-X[j])+abs(Y[i]-Y[j])+abs(Z[i]-Z[j])<=D)
                    ans++;
            }
        }
        cout << ans;
    }
}
#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...