Submission #979368

#TimeUsernameProblemLanguageResultExecution timeMemory
979368MalixPalembang Bridges (APIO15_bridge)C++14
22 / 100
88 ms6596 KiB
#include <bits/stdc++.h> using namespace std; typedef unsigned long long ll; typedef vector<int> vi; typedef vector<vi> vii; typedef pair<int,int> pi; typedef vector<pi> pii; #define REP(i,a,b) for(int i=a;i<b;i++) #define F first #define S second #define PB push_back #define MP make_pair ll INF=1e18+10; int main() { //ios::sync_with_stdio(0); //cin.tie(0); //freopen("test_input.txt", "r", stdin); //freopen("test_output.txt", "w", stdout); int k,n;cin>>k>>n; vector<pair<char,int>> a(n),b(n); REP(i,0,n)cin>>a[i].F>>a[i].S>>b[i].F>>b[i].S; //cout<<"a"; ll ans=0; pii c; REP(i,0,n){ if(a[i].F==b[i].F){ ans+=(ll)abs(a[i].S-b[i].S); } else { if(a[i].S>b[i].S)swap(a[i].S,b[i].S); c.PB({a[i].S,b[i].S}); } } int m=c.size(); if(m==0){ cout<<ans; return 0; } sort(c.begin(),c.end()); if(k==2){ m--; ans+=(ll)abs(c[m].F-c[m].S)+1; c.pop_back(); } vi ar; REP(i,0,m)ar.PB(c[i].F); REP(i,0,m)ar.PB(c[i].S); sort(ar.begin(),ar.end()); REP(i,0,m*2)ans+=(ll)abs(ar[i]-ar[m]); cout<<ans+(ll)m; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...