#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 2e5;
int mat[2][MAX_N];
int main() {
int n;
long long ans = 0;
cin >> n;
for ( int i = 0; i < 2 * n; i++ ) {
int x, y;
cin >> x >> y;
if ( x < 1 ) {
ans += 1 - x;
x = 1;
} else if ( x > n ) {
ans += x - n;
x = n;
}
if ( y < 1 ) {
ans += 1 - y;
y = 1;
} else if ( y > 2 ) {
ans += y - 2;
y = 2;
}
mat[y - 1][x - 1]++;
}
for ( int c = 0; c < n; c++ ) {
int a = mat[0][c], b = mat[1][c];
a--;
b--;
//printf( "%d %d %d\n", a, b, ans );
if ( a < 0 ) {
int r = max( 0, min( b, -a ) );
b -= r;
a += r;
ans += r;
}
if ( b < 0 ) {
int r = max( 0, min( a, -b ) );
a -= r;
b += r;
ans += r;
}
mat[0][c + 1] += a;
ans += abs( a );
mat[1][c + 1] += b;
ans += abs( b );
//printf( "%d %d %d\n\n", a, b, ans );
}
cout << ans << "\n";
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |