列表

详情


NC200210. 牛能和小镇

描述

       在牛国有个小镇编号。用二维平面来表示每个小镇的位置,第个小镇的位置为。牛能做为牛国的国王,决定给小镇之间建设一些道路,以便于任意小镇之间都能相互到达,在第i个小镇和第j个小镇之间建设一条道路的花费是

但是牛能小气的很,他想最小化建设的费用。

输入描述

第一行输入一个整数
接下来行每行两个整数表示第个小镇的坐标。

输出描述

输出一个整数表示最小的花费。

示例1

输入:

3
1 4
2 8
3 6

输出:

252

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++14(g++5.4) 解法, 执行用时: 77ms, 内存消耗: 3944K, 提交时间: 2020-03-26 19:08:08

#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
	ll n;
	cin>>n;
	ll x[n],y[n],a[n];
	for(ll i=0;i<n;i++)
	{
		cin>>x[i]>>y[i];
		ll t=x[i]-y[i];
		a[i]=t*t*y[i];
	}
	sort(a,a+n);
	cout<<a[n-1]-a[0];
	return 0;
}

C++11(clang++ 3.9) 解法, 执行用时: 73ms, 内存消耗: 612K, 提交时间: 2020-03-13 20:03:47

#include<bits/stdc++.h>
using namespace std;;
int main(){
	int n;long long x,y,t,mx=0,mn=1e18;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>x>>y;
		t=(x-y)*(x-y)*y;
		if(t>mx)mx=t;
		if(t<mn)mn=t;
	}
	cout<<mx-mn;
}

Python3(3.5.2) 解法, 执行用时: 1889ms, 内存消耗: 8216K, 提交时间: 2020-03-13 21:43:29

n=eval(input())
e=[]
while n!=0:
    a,b=map(eval,input().split())
    c=(a-b)**2*b
    e+=[c]
    n-=1
e.sort()
p=e[-1]-e[0]
print(p)

        
    

上一题