Submission #588072

# Submission time Handle Problem Language Result Execution time Memory
588072 2022-07-02T17:03:47 Z angelo_torres Best Place (NOI17_bestplace) C++17
100 / 100
48 ms 5564 KB
#include <bits/stdc++.h>
#define f(i,j,n) for(ll i = j; i < n; ++i)
#define fr(i,j,n) for(ll i = j; i >= n; --i)
#define ff first
#define ss second
#define sz(v) (int) v.size()


using namespace std;

typedef long long ll;
typedef pair<ll,ll> pll;
typedef pair<int,int> ii;
typedef vector<ll> vll;
typedef vector<ii> vii;
typedef vector<int> vi;
typedef long double ld;

const int N = 1e5 + 20;
const int M = 2e3 + 20;
const ll inf = 1e18;

ll n,x[N],y[N],pr[N],su[N];

ll axe(vll v){
	sort(v.begin(),v.end());
	f(i,0,n) pr[i] = su[i];
	ll ct = 1;
	pr[0] = 0;
	f(i,1,n){
		pr[i] = pr[i-1] + abs(v[i]-v[i-1])*ct, ct++;
		// cout << pr[i] << endl;
	}
	su[n-1] = 0, ct = 1;
	fr(i,n-2,0){
		su[i] = su[i+1] + abs(v[i+1]-v[i])*ct, ct++; 
		// cout << su[i] << endl;
	} 
	ll mn = inf,id = 0;
	f(i,0,n){
		// cout << pr[i] << " " << su[i] << endl;
		if(pr[i]+su[i] < mn) mn = pr[i] + su[i], id = i;
	}
	return v[id];
}

void solve(){
	cin >> n;
	f(i,1,n+1) cin >> x[i] >> y[i];
	vll v = {};
	pll ans = {0,0};
	f(i,1,n+1) v.push_back(x[i]);
	ans.ff = axe(v);
	v.clear();
	f(i,1,n+1) v.push_back(y[i]);
	ans.ss = axe(v);
	cout << ans.ff << " " << ans.ss << endl;
}

int main(){
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
	int tc = 1;
	// cin >> tc;
	while(tc--) solve();	
	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Correct 1 ms 328 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
7 Correct 1 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 22 ms 5400 KB Output is correct
2 Correct 33 ms 5564 KB Output is correct
3 Correct 27 ms 5408 KB Output is correct
4 Correct 21 ms 5472 KB Output is correct
5 Correct 25 ms 5412 KB Output is correct
6 Correct 25 ms 5380 KB Output is correct
7 Correct 27 ms 5460 KB Output is correct
8 Correct 25 ms 5460 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Correct 0 ms 328 KB Output is correct
4 Correct 0 ms 340 KB Output is correct
5 Correct 0 ms 340 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
7 Correct 1 ms 340 KB Output is correct
8 Correct 0 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
7 Correct 1 ms 340 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 40 ms 5484 KB Output is correct
2 Correct 48 ms 5448 KB Output is correct
3 Correct 28 ms 5500 KB Output is correct
4 Correct 34 ms 5468 KB Output is correct
5 Correct 38 ms 5444 KB Output is correct
6 Correct 39 ms 5560 KB Output is correct
7 Correct 39 ms 5496 KB Output is correct
8 Correct 37 ms 5536 KB Output is correct