Submission #785920

#TimeUsernameProblemLanguageResultExecution timeMemory
785920canadavid1Pairs (IOI07_pairs)C++14
30 / 100
44 ms1564 KiB
#include <bits/stdc++.h> using namespace std; #define all(x) begin(x),end(x) using i64 = int64_t; // idea: k-d tree namespace d1 { void d1() { int N,D,M; cin >> N >> D >> M; vector<int> p(N); for(auto && i : p) cin >> i; sort(all(p)); i64 c=0; for(int i = 0; i < p.size();i++) { // binary search for furthest after it int thrs = p[i]+D; int l = i; int r = p.size(); while(r-l > 1) { int m = (r+l)/2; if(p[m]>thrs) r = m; else l = m; } c += (l-i); } cout << c << "\n"; } } // d1 void d2() { } void d3() { } int main() { int B; cin >> B; switch(B) { case 1: d1::d1();break; case 2: d2();break; case 3: d3();break; } }

Compilation message (stderr)

pairs.cpp: In function 'void d1::d1()':
pairs.cpp:18:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   18 |     for(int i = 0; i < p.size();i++)
      |                    ~~^~~~~~~~~~
#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...