# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1111350 | fyan | Coin Collecting (JOI19_ho_t4) | C++14 | 1 ms | 4432 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "bits/stdc++.h"
using namespace std;
#define all(x) begin(x), end(x)
#define sz(x) (int) (x).size()
#define int long long
const int mxn = 2e5+5;
int N,X[mxn],Y[mxn];
int A[2][mxn];
signed main() {
ios::sync_with_stdio(false); cin.tie(nullptr);
cin>>N;
int res = 0;
for (int i=0; i<2*N; i++) {
cin>>X[i]>>Y[i];
if (X[i] < 1) {
res += 1-X[i];
X[i] = 1;
}
if (X[i] > N) {
res += X[i]-N;
X[i] = N;
}
if (Y[i] < 1) {
res += 1-Y[i];
Y[i] = 1;
}
if (Y[i] > 2) {
res += Y[i]-2;
Y[i] = 2;
}
A[Y[i]][X[i]]++;
}
int t1=0, t2=0;
for (int i=1; i<=N; i++) {
t1 += A[1][i] - 1;
t2 += A[2][i] - 1;
if (t1 < 0 && t2 > 0) {
int t = min(-t1,t2);
res += t;
t1 += t; t2 -= t;
}
if (t1 > 0 && t2 < 0) {
int t = min(t1,-t2);
res += t;
t1 -= t; t2 += t;
}
res += abs(t1);
res += abs(t2);
}
cout<<res;
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |