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>
#define ll long long
using namespace std;
ll k,n,ans,cnt,sum;
vector<pair<ll,ll> > v;
ll go(ll pos){
ll ret=0;
for(auto o:v)
ret+=abs(o.first-pos)+abs(o.second-pos)+1;
return ret;
}
int main(){
cin>>k>>n;
for(ll i=1;i<=n;i++){
char x,y;
ll a,b;
cin>>x>>a>>y>>b;
if(x==y)
ans+=abs(a-b);
else
v.push_back( x=='A'?make_pair(a,b):make_pair(b,a) ),sum+=a+b,cnt+=2;
}
if(cnt)
sum/=cnt,
ans+=min(go(sum),min(go(sum+1),go(sum-1)));
//cout<<sum<<" "<<go(sum)<<" "<<go(sum+1)<<" "<<go(sum-1)<<endl;
cout<<ans<<endl;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |