이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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);
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;
}
ans+=cnt/2;
if(cnt){
ll temp=0;
sum/=cnt,
temp=min(go(sum),min(go(sum+1),go(sum-1)));
for(auto o:v)
temp=min(temp,go(o.first));
ans+=temp;
}
//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... |