记录编号 153069 评测结果 AAAAAAAAAA
题目名称 [HAOI 2014]走出金字塔 最终得分 100
用户昵称 Gravatarslyrabbit 是否通过 通过
代码语言 C++ 运行时间 0.034 s
提交时间 2015-03-16 18:39:46 内存使用 0.31 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int N,M,K,S,xa,ya,za;
int xi,yi,zi;
int Max=1000000,temp;
bool t=0;
int main()
{
	freopen("ha14c.in","r",stdin);
	freopen("ha14c.out","w",stdout);
	cin>>N>>M>>K>>S>>xa>>ya;
	if(ya%2==0){
		xa--;
		ya--;
		t=1;
	}
	ya=(ya+1)/2;
	temp=xa*2+1;
	za=temp-xa-ya;
	for(int i=1;i<=M;i++)
	{
		int data=0;
		cin>>xi>>yi;
		if(t)
		{
			if(xi>=xa+1) data-=1;
			else data+=1;
		}
		if(yi%2==0)
		{
			xi--;
			yi--;
			if(xi+1>xa-1) data+=1;
			else data-=1;
		}
		yi=(yi+1)/2;
		temp=xi*2+1;
		zi=temp-xi-yi;
		data+=abs(xi-xa)+abs(yi-ya)+abs(zi-za);
		if(data<Max)
			Max=data;
	}
	if(Max*K+1<=S)
		cout<<S-Max*K-1;
	else
		cout<<-1;
	return 0;
}