제출 #583012

#제출 시각아이디문제언어결과실행 시간메모리
583012snasibov05Pairs (IOI07_pairs)C++14
47 / 100
61 ms6556 KiB
#include <bits/stdc++.h>

using namespace std;

#define int long long

signed main() {
    int b, n, d, m; cin >> b >> n >> d >> m;
    vector<vector<int>> coord(n, vector<int>(b));
    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < b; ++j) cin >> coord[i][j];
    }

    if (n <= 1000){
        int ans = 0;
        for (int i = 0; i < n; ++i){
            for (int j = i+1; j < n; ++j){
                int dist = 0;
                for (int k = 0; k < b; ++k) dist += abs(coord[i][k] - coord[j][k]);
                if (dist <= d) ans++;
            }
        }

        cout << ans << "\n";
    } else if (b == 1){
        int ans = 0;
        vector<int> c(n);
        for (int i = 0; i < n; ++i) c[i] = coord[i][0];
        sort(c.begin(), c.end());
        int r = 0;
        for (int i = 0; i < n; ++i){
            while (r < n-1 && c[r+1] - c[i] <= d) r++;
            ans += r - i;
        }

        cout << ans << "\n";
    }



    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...