#include <iostream>
#include <vector>
#include <algorithm>
#include <cstdint>
#define int long long
using namespace std;
const int NMAX=1e5;
int n, b[2], v[NMAX+5][2];
int32_t main ()
{
cin >> n;
int ret=0;
for (int i=1;i<=2*n;i++)
{
int x, y;
cin >> x >> y;
int X=clamp (x, 1ll, n);
int Y=clamp (y, 1ll, 2ll);
ret+=abs (x-X)+abs (y-Y);
v[X][Y-1]++;
}
for (int i=1;i<=n;i++)
{
b[0]+=v[i][0]-1;
b[1]+=v[i][1]-1;
for (auto line : {0, 1})
{
int dif=min (abs (b[0]), abs (b[1]));
if (b[line]>0 && b[line^1]<0)
ret+=dif, b[line^1]+=dif, b[line]-=dif;
}
ret+=abs (b[0])+abs (b[1]);
}
cout << ret;
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |