Submission #1036329

#TimeUsernameProblemLanguageResultExecution timeMemory
1036329ind1vCount Squares (CEOI19_countsquares)C++11
100 / 100
364 ms9260 KiB
#include <bits/stdc++.h> using namespace std; const int N = 1505; int h, v; int y[N], x[N]; vector<int> s; int cnt[N * N]; int main() { ios::sync_with_stdio(false); cin.tie(0); cin >> h >> v; s.reserve(h * h); for (int i = 1; i <= h; i++) { cin >> y[i]; for (int j = 1; j <= i - 1; j++) { s.emplace_back(y[i] - y[j]); } } sort(s.begin(), s.end()); s.erase(unique(s.begin(), s.end()), s.end()); for (int i = 1; i <= h; i++) { for (int j = 1; j <= i - 1; j++) { cnt[lower_bound(s.begin(), s.end(), y[i] - y[j]) - s.begin()]++; } } long long ans = 0; for (int i = 1; i <= v; i++) { cin >> x[i]; for (int j = 1; j <= i - 1; j++) { if (binary_search(s.begin(), s.end(), x[i] - x[j])) { ans += cnt[lower_bound(s.begin(), s.end(), x[i] - x[j]) - s.begin()]; } } } cout << ans << '\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...