Submission #1126990

#TimeUsernameProblemLanguageResultExecution timeMemory
1126990ezzzayCoin Collecting (JOI19_ho_t4)C++20
100 / 100
127 ms3752 KiB
#include<bits/stdc++.h>
using namespace std;
#define pb push_back
#define ss second
#define int long long
#define ff first
const int N=4e5+5;
int cnt[N][4];
signed main(){
    int n;
    cin>>n;
    int ans=0;
    for(int i=1;i<=n*2;i++){
        int x,y;
        cin>>x>>y;
        if(x<1){
            ans+=1-x;
            x=1;
        }
        if(x>n){
            ans+=x-n;
            x=n;
        }
        if(y<1){
            ans+=1-y;
            y=1;
        }
        if(y>2){
            ans+=y-2;
            y=2;
        }
        cnt[x][y]++;
    }
    int a=0, b=0;
    for (int i = 1; i <= n; i++) {
        a+=cnt[i][1]-1;
        b+=cnt[i][2]-1;
        while (a<0 and b>0)a++,b--,ans++;
        while (a>0 and b<0)a--,b++,ans++;
        ans += abs(a) + abs(b);
    }
    cout<<ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...