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
AC × 3
AC × 17
AC × 48
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