Submission #521634
Source Code Expand
#include <algorithm> #include <cassert> #include <cmath> #include <iostream> #include <vector> #define REP(i,s,n) for(int i=(int)(s);i<(int)(n);i++) using namespace std; typedef long long int ll; typedef vector<int> VI; const double EPS=1e-9; const int N = 50010; int n,s1,s2; int a[N],b[N]; VI atob[N], btoa[N]; ll calc(int lim) { if (lim <= 0) { return 0; } int q = (int)sqrt(lim); ll cnt = 0; REP(i, 0, n) { int alim = min(N - a[i] - 1, q); REP(j, 1, alim + 1) { // checks x s.t. a[x] == a[i] + j. b[x] == atob[a[i] + j] int sup = lim / j + b[i]; int inf = b[i] + 1; VI &target = atob[a[i] + j]; int res= upper_bound(target.begin(), target.end(), sup) - lower_bound(target.begin(), target.end() , inf); cnt += res; } REP(j, 1, min(N - b[i], lim / q + 1)) { int sup = lim / j + a[i]; int inf = alim + a[i] + 1; VI &target = btoa[b[i] + j]; cnt += upper_bound(target.begin(), target.end(), sup) - lower_bound(target.begin(), target.end() , inf); } } return cnt; } int main(void){ cin >> n >> s1 >> s2; REP(i,0,n) { cin >> a[i] >> b[i]; atob[a[i]].push_back(b[i]); btoa[b[i]].push_back(a[i]); } REP(i, 0, N) { sort(atob[i].begin(), atob[i].end()); sort(btoa[i].begin(), btoa[i].end()); } cout << calc(s2) - calc(s1 - 1) << endl; }
Submission Info
Submission Time | |
---|---|
Task | H - 平和協定 |
User | kobae964 |
Language | C++ (G++ 4.6.4) |
Score | 100 |
Code Size | 1355 Byte |
Status | AC |
Exec Time | 1340 ms |
Memory | 6936 KB |
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 10 / 10 | 90 / 90 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
Subtask1 | sample_01.txt, sample_02.txt, sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt |
Subtask2 | sample_01.txt, sample_02.txt, sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt, subtask2_26.txt, subtask2_27.txt, subtask2_28.txt, subtask2_29.txt, subtask2_30.txt, subtask2_31.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 36 ms | 3476 KB |
sample_02.txt | AC | 39 ms | 3472 KB |
sample_03.txt | AC | 36 ms | 3612 KB |
subtask1_01.txt | AC | 40 ms | 3736 KB |
subtask1_02.txt | AC | 45 ms | 3740 KB |
subtask1_03.txt | AC | 44 ms | 3712 KB |
subtask1_04.txt | AC | 49 ms | 3620 KB |
subtask1_05.txt | AC | 40 ms | 3604 KB |
subtask1_06.txt | AC | 47 ms | 3616 KB |
subtask1_07.txt | AC | 38 ms | 3604 KB |
subtask1_08.txt | AC | 36 ms | 3476 KB |
subtask1_09.txt | AC | 53 ms | 3736 KB |
subtask1_10.txt | AC | 50 ms | 3604 KB |
subtask1_11.txt | AC | 52 ms | 3628 KB |
subtask1_12.txt | AC | 51 ms | 3744 KB |
subtask1_13.txt | AC | 45 ms | 3604 KB |
subtask1_14.txt | AC | 43 ms | 3604 KB |
subtask2_01.txt | AC | 92 ms | 4004 KB |
subtask2_02.txt | AC | 245 ms | 4376 KB |
subtask2_03.txt | AC | 125 ms | 4256 KB |
subtask2_04.txt | AC | 131 ms | 4504 KB |
subtask2_05.txt | AC | 407 ms | 5272 KB |
subtask2_06.txt | AC | 496 ms | 5140 KB |
subtask2_07.txt | AC | 107 ms | 4220 KB |
subtask2_08.txt | AC | 150 ms | 4476 KB |
subtask2_09.txt | AC | 227 ms | 5016 KB |
subtask2_10.txt | AC | 1314 ms | 5912 KB |
subtask2_11.txt | AC | 1266 ms | 5780 KB |
subtask2_12.txt | AC | 929 ms | 5912 KB |
subtask2_13.txt | AC | 1178 ms | 5784 KB |
subtask2_14.txt | AC | 893 ms | 5916 KB |
subtask2_15.txt | AC | 1046 ms | 5780 KB |
subtask2_16.txt | AC | 1003 ms | 5780 KB |
subtask2_17.txt | AC | 687 ms | 5784 KB |
subtask2_18.txt | AC | 1340 ms | 5784 KB |
subtask2_19.txt | AC | 1081 ms | 5784 KB |
subtask2_20.txt | AC | 1081 ms | 5784 KB |
subtask2_21.txt | AC | 673 ms | 5780 KB |
subtask2_22.txt | AC | 466 ms | 5904 KB |
subtask2_23.txt | AC | 711 ms | 5780 KB |
subtask2_24.txt | AC | 981 ms | 5916 KB |
subtask2_25.txt | AC | 895 ms | 5916 KB |
subtask2_26.txt | AC | 1157 ms | 5776 KB |
subtask2_27.txt | AC | 1328 ms | 5916 KB |
subtask2_28.txt | AC | 998 ms | 5780 KB |
subtask2_29.txt | AC | 794 ms | 5780 KB |
subtask2_30.txt | AC | 791 ms | 4504 KB |
subtask2_31.txt | AC | 394 ms | 6936 KB |