제출 #640676

#제출 시각아이디문제언어결과실행 시간메모리
640676christinelynnPalembang Bridges (APIO15_bridge)C++17
0 / 100
0 ms296 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define db double #define pairll pair<ll,ll> #define lpairll pair<ll,pairll> #define repp(i,a,b) for (ll i = a; i <= b; i++) #define repz(i,a,b) for (ll i = a; i < b; i++) #define repm(i,a,b) for (ll i = a; i >= b; i--) #define fr first #define sc second #define mp make_pair #define pb push_back const ll N = 3e5+5, MOD = 1e9+7, M = 1e5+5; ll tc = 1, n, m, lr[N], rr[N]; ll x, y, k, otsum, dg; string s, s1, s2, ye = "YES", no = "NO"; vector<pairll> v; ll kir[N], kan[N], val[N], pr[N]; void input(){ cin >> k >> n; v.pb(mp(0,2)); repp(i,1,n){ char A, B; ll L, R; cin >> A >> L >> B >> R; if (L > R) swap(L,R); if (A == B){ otsum += abs(L-R); } else{ otsum++; v.pb(mp(L,0)); v.pb(mp(R,1)); } } } void solve(){ if (k == 1){ sort(v.begin(),v.end()); // ll cur = -1, num = 0; // for (auto i : v){ // if (i.fr > cur){ // cur = i.fr; // num++; // val[num] = cur; // } // if (i.sc == 0) lr[num]++; // if (i.sc == 1) rr[num]++; // } // ll ans = LLONG_MAX; // ll nyal = 0; // // repp(i,1,num){ // // cout << i << " " << val[i] << " " << lr[i] << " " << rr[i] << endl; // // } // val[0] = val[1]; // repp(i,1,num){ // kir[i] = kir[i-1]+nyal*2*(val[i]-val[i-1]); // nyal += rr[i]; // } // nyal = 0; // val[num+1] = val[num]; // repm(i,num,1){ // kan[i] = kan[i+1]+nyal*2*(val[i+1]-val[i]); // nyal += lr[i]; // } // repp(i,1,num){ // ans = min(ans,kir[i]+kan[i]); // //cout << i << " " << val[i] << " " << kir[i] << " " << kan[i] << endl; // } ll ans = 1e18; ll sz = v.size()-1; repp(i,1,sz){ pr[i] = pr[i-1]+v[i].fr; //cout << i << " " << pr[i] << endl; } repp(i,1,sz){ ll lefsum = pr[i], rigsum = pr[sz]-pr[i]; ll cur = v[i].fr*i-lefsum; cur += rigsum-(sz-i)*v[i].fr; ans = min(ans,cur); } cout << ans+otsum << endl; } } int main(){ ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL); //cin >> tc; while(tc--){ input(); solve(); } }
#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...