Submission #944868

#TimeUsernameProblemLanguageResultExecution timeMemory
944868SheepHeadsRoad Construction (JOI21_road_construction)C++17
5 / 100
1489 ms2097152 KiB
#include <bits/stdc++.h>
#define int long long
using namespace std;

int n, k;
vector<pair<int, int>> coor;

void brute(){
	vector<int> ans;
	for(int i = 0; i<n-1; i++){
		for(int j = i+1; j<n; j++){
			ans.push_back(abs(coor.at(j).first - coor.at(i).first) + abs(coor.at(j).second - coor.at(i).second));
		}
	}

	sort(ans.begin(), ans.end());

	for(int i = 0; i<k; i++){
		cout << ans.at(i) << "\n";
	}

	return;
}

void second(){
	vector<int> ans;
	for(int i = 0; i<n-1; i++){
		for(int j = i+1; j<n; j++){
			ans.push_back(abs(coor.at(i).first - coor.at(j).first));
		}
	}

	sort(ans.begin(), ans.end());

	for(int i = 0; i<k; i++){
		cout << ans.at(i) << "\n";
	}

	return;
}

signed main(){
	ios_base::sync_with_stdio(false);
	cin.tie(0);

	cin>>n>>k;

	bool two = true;

	for(int i = 0; i<n; i++){
		int x, y;
		cin>>x>>y;
		coor.push_back({x, y});

		if(y != 0){
			two = false;
		}
	}

	sort(coor.begin(), coor.end());

	if(two){
		second();
		return 0;
	}else{
		brute();
		return 0;
	}

	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...
#Verdict Execution timeMemoryGrader output
Fetching results...