Submission #1212135

#TimeUsernameProblemLanguageResultExecution timeMemory
1212135biankCoin Collecting (JOI19_ho_t4)C++20
100 / 100
38 ms5704 KiB
#include <bits/stdc++.h> using namespace std; #define forn(i,n) for(int i=0;i<int(n);i++) #define forsn(i,s,n) for(int i=int(s);i<int(n);i++) #define dforn(i,n) for(int i=int(n)-1;i>=0;i--) #define dforsn(i,s,n) for(int i=int(n)-1;i>=int(s);i--) #define fst first #define snd second #define pb push_back #define eb emplace_back #define sz(x) (int)x.size() #define all(x) x.begin(), x.end() typedef long long ll; typedef vector<ll> vll; typedef vector<int> vi; typedef pair<int,int> ii; int main(){ ios::sync_with_stdio(0); cin.tie(0); int n; cin>>n; vector<vi> cnt(n,vi(2)); ll ret=0; forn(i,2*n){ int x,y; cin>>x>>y; --x,--y; int nearX=min(max(x,0),n-1); int nearY=min(max(y,0),1); ll dist=abs(nearX-x)+abs(nearY-y); cnt[nearX][nearY]++,ret+=dist; } int delta[2]={0,0}; forn(i,n){ forn(j,2) delta[j]+=cnt[i][j]-1; forn(j,2) while(delta[j]<0&&delta[1-j]>0){ delta[j]++,delta[1-j]--,ret++; } ret+=abs(delta[0]+delta[1]); } cout<<ret<<'\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...