Submission #172720

#TimeUsernameProblemLanguageResultExecution timeMemory
172720AlexLuchianovPairs (IOI07_pairs)C++14
30 / 100
587 ms293908 KiB
#include <iostream> #include <vector> using namespace std; using ll = long long; #define MIN(a, b) (((a) < (b)) ? (a) : (b)) #define MAX(a, b) (((a) < (b)) ? (b) : (a)) namespace Subtask1{ vector<int> v; int getsum(int x, int y, int m){ int result = 0; if(y <= m) result += v[y]; else result += v[m]; if(0 < x) result -= v[x - 1]; return result; } void solve(){ int n, d, m; cin >> n >> d >> m; v.resize(1 + m); for(int i = 1;i <= n; i++){ int x; cin >> x; v[x]++; } for(int i = 1;i <= m; i++) v[i] += v[i - 1]; ll result = 0; for(int i = 1;i <= m; i++) if(0 < v[i] - v[i - 1]) result += (v[i] - v[i - 1]) * getsum(i - d, i + d, m); result -= n; cout << result / 2 << '\n'; } } namespace Subtask2{ void solve(){ return ; } } namespace Subtask3{ void solve(){ return ; } } int main() { int type; cin >> type; if(type == 1) Subtask1::solve(); else if(type == 2) Subtask2::solve(); else if(type == 3) Subtask3::solve(); 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...