제출 #235894

#제출 시각아이디문제언어결과실행 시간메모리
235894MarcoMeijer전선 연결 (IOI17_wiring)C++14
13 / 100
42 ms3320 KiB
#include "wiring.h"
#include <bits/stdc++.h>
using namespace std;
 
//macros
typedef long long ll;
typedef pair<int, int> ii;
typedef tuple<int, int, int> iii;
typedef vector<int> vi;
typedef vector<ii> vii;
typedef vector<iii> viii;
typedef vector<ll> vll;
#define REP(a,b,c) for(int a=int(b); a<int(c); a++)
#define RE(a,c) REP(a,0,c)
#define RE1(a,c) REP(a,1,c+1)
#define REI(a,b,c) REP(a,b,c+1)
#define REV(a,b,c) for(int a=int(c-1); a>=int(b); a--)
#define INF 1e9
#define pb push_back
#define fi first
#define se second
#define sz size()
 
 
//===================//
//   begin program   //
//===================//
 
const int MX = 5e5;
vii all;
bitset<MX> connected;
int n, m, N;
 
int gd(int i, int j) {
    return abs(all[i].fi - all[j].fi);
}
 
long long min_total_length(std::vector<int> r, std::vector<int> b) {
    ll ans = 0;
    n = r.sz, m = b.sz;
    N = n+m;
 
    // subtask 2
    reverse(b.begin(), b.end());
    if(n < m) {
        RE(i,n) ans += r[n-1]-r[i];
        RE(i,m) ans += b[i]-r[n-1];
    } else {
        RE(i,m) ans += b[i]-b[m-1];
        RE(i,n) ans += b[m-1]-r[i];
    }
	return ans;
}
#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...