#include <iostream>
#include <set>
using namespace std;
#define int long long
int a[3][1<<17], Ans;
signed main(){
int n;
cin>>n;
for (int i=1, x, y, X, Y;i<=n + n;i++){
cin>>x>>y;
Y = 1 + (y >= 2);
X = max(1LL, min(x, n));
a[Y][X]++;
Ans += abs(x - X) + abs(y - Y);
}
for (int i=1;i<=n;i++){
a[1][i]--;
a[2][i]--;
if (a[1][i] < 0 and a[2][i] > 0){
int k = min(-a[1][i], a[2][i]);
a[1][i] += k;
a[2][i] -= k;
Ans += k;
}
else if (a[1][i] > 0 and a[2][i] < 0){
int k = min(a[1][i], -a[2][i]);
a[1][i] -= k;
a[2][i] += k;
Ans += k;
}
Ans += abs(a[1][i]) + abs(a[2][i]);
a[1][i+1] += a[1][i], a[2][i+1] += a[2][i];
}
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... |