제출 #1199938

#제출 시각아이디문제언어결과실행 시간메모리
1199938amanthabandPalembang Bridges (APIO15_bridge)C++20
0 / 100
1 ms528 KiB
#include <cmath> #include <iostream> #include <vector> #include <string> #include <algorithm> using namespace std; using ll = long long; ll mod = 1000000007; ll modpow(ll a, ll b) { ll result = 1; a %= mod; while (b > 0) { if (b % 2 == 1) result = (result * a) % mod; a = (a * a) % mod; b /= 2; } return result; } int main() { ll k,n; cin>>k>>n; vector<ll> median; vector<ll> home; vector<ll> ofiice; ll sum_distance =0; if(k == 1){ for (ll z = 0; z < n; z++) { string s; cin>>s; char p = s[0]; ll S = 0; ll i = 1; while (isdigit(s[i])) { S = S * 10 + (s[i] - '0'); i++; } char q = s[i]; ll T = 0; i++; while (i < s.size()) { T = T * 10 + (s[i] - '0'); i++; } if(p == q){ sum_distance += llabs(S - T); } else{ int mid = (S + T )/2; median.push_back(mid); home.push_back(S); ofiice.push_back(T); } } if (median.size() == 0) { cout << sum_distance << endl; return 0; } ll j = median.size(); sort(median.begin(), median.end()); ll sum = j/2; ll pos = 0; pos = median[sum]; ll ans = sum_distance; for (int i = 0; i < home.size(); i++) { ans += (llabs(home[i] - pos ) + llabs(ofiice[i] - pos)) +1; } cout<<ans<<endl; } return 0; }
#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...