Submission #995595


Source Code Expand

#include <string>
#include <vector>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#include <queue>
#include <map>
#include <set>
#include <iostream>
#include <sstream>
#include <cstring>
#include <numeric>
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
#define F0(i,n) for (int i = 0; i < n; i++)
#define F1(i,n) for (int i = 1; i <= n; i++)
#define CL(a,x) memset(x, a, sizeof(x));
#define SZ(x) ((int)x.size())
const double eps = 1e-10;
const int inf = 1000000009;
int i, j, k, m, n, l;
const int MAXN = 100001;
int ans, a[MAXN], b[MAXN], u[MAXN];

void no() {
	cout << -1 << endl;
	exit(0);
}

set<pii> S;

void ch(bool x) {
	if (!x) no();
}

int main() {
	//freopen("x.in", "r", stdin);
	cin >> n;
	F1(i, n) cin >> a[i] >> b[i];

	ch(a[1] == 0);
	ch(b[2] == 0);
	ch(a[2] == b[1]);
	
	int d = a[2];
	ch(d > 0);

	vector<pii> v;

	ans = n - 1;

	for (int i = 1; i <= n; i++) {
		if (i > 2) ch(a[i] > 0 && b[i] > 0);
		ch(a[i] + b[i] >= d);
		if (a[i] + b[i] == d) {
			if (!u[a[i]]) {
				S.insert(pii(a[i], b[i]));
				u[a[i]] = 1; m++;
			}
			else ans++;
		}
		else {
			v.push_back(pii(a[i], b[i]));
		}
	}
	ch(m == d + 1);
	sort(v.begin(), v.end());

	for (pii p : v) {
		if (S.count(pii(p.first - 1, p.second - 1))) continue;
		if (S.count(pii(p.first, p.second))) { ans++; continue; }
		if (S.count(pii(p.first, p.second - 1))) { ans++; S.insert(p); continue; }
		if (S.count(pii(p.first - 1, p.second))) { ans++; S.insert(p); continue; }
		no();
	}
	cout << ans << endl;
	return 0;
}

Submission Info

Submission Time
Task A - Distance Pairs
User USA
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1626 Byte
Status WA
Exec Time 90 ms
Memory 6144 KB

Judge Result

Set Name sample All
Score / Max Score 0 / 0 0 / 1500
Status
AC × 2
AC × 19
WA × 14
Set Name Test Cases
sample sample-01.txt, sample-02.txt
All sample-01.txt, sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt, 01-31.txt
Case Name Status Exec Time Memory
01-01.txt AC 57 ms 1024 KB
01-02.txt AC 34 ms 1024 KB
01-03.txt AC 2 ms 256 KB
01-04.txt AC 2 ms 256 KB
01-05.txt WA 3 ms 256 KB
01-06.txt WA 23 ms 1404 KB
01-07.txt WA 53 ms 2168 KB
01-08.txt WA 50 ms 2168 KB
01-09.txt WA 47 ms 2168 KB
01-10.txt WA 43 ms 2168 KB
01-11.txt WA 52 ms 2168 KB
01-12.txt WA 53 ms 2168 KB
01-13.txt WA 68 ms 2424 KB
01-14.txt AC 90 ms 6144 KB
01-15.txt WA 67 ms 2168 KB
01-16.txt AC 38 ms 2168 KB
01-17.txt AC 34 ms 1024 KB
01-18.txt AC 39 ms 2168 KB
01-19.txt WA 71 ms 3192 KB
01-20.txt WA 69 ms 3192 KB
01-21.txt WA 69 ms 3192 KB
01-22.txt WA 64 ms 2552 KB
01-23.txt AC 50 ms 2168 KB
01-24.txt AC 49 ms 2168 KB
01-25.txt AC 40 ms 1024 KB
01-26.txt AC 42 ms 1024 KB
01-27.txt AC 40 ms 1660 KB
01-28.txt AC 42 ms 1660 KB
01-29.txt AC 2 ms 256 KB
01-30.txt AC 3 ms 256 KB
01-31.txt AC 2 ms 256 KB
sample-01.txt AC 2 ms 256 KB
sample-02.txt AC 2 ms 256 KB