Submission #704009

#TimeUsernameProblemLanguageResultExecution timeMemory
704009thimote75Pairs (IOI07_pairs)C++14
30 / 100
310 ms293980 KiB

#include <bits/stdc++.h>

using namespace std;

#define num long long

void run_bt1 () {
    vector<int> bit;

    int nbV;
    cin >> nbV;
    int dist;
    cin >> dist;
    int M;
    cin >> M;
    bit.resize(M + 10);

    vector<int> values;
    for (int id = 0; id < nbV; id ++) {
        int x; cin >> x;
        values.push_back(x);

        if (x - dist < 0) bit[0] ++;
        else bit[x - dist] += 1;
        if (x + dist + 1 < bit.size())
            bit[x + dist + 1] -= 1;
    }

    for (int e = 1; e < bit.size(); e ++)
        bit[e] += bit[e - 1];
    
    num result = 0;
    for (int u : values)
        result += bit[u] - 1;
    
    cout << (result >> 1);
}

int main () {
    int board_type;
    cin >> board_type;

    if (board_type == 1) run_bt1();
}

Compilation message (stderr)

pairs.cpp: In function 'void run_bt1()':
pairs.cpp:26:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 |         if (x + dist + 1 < bit.size())
      |             ~~~~~~~~~~~~~^~~~~~~~~~~~
pairs.cpp:30:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   30 |     for (int e = 1; e < bit.size(); e ++)
      |                     ~~^~~~~~~~~~~~
#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...