记录编号 408853 评测结果 AAAAAAAAAA
题目名称 [NOIP 2014]无线网路发射器选址 最终得分 100
用户昵称 Gravatarfate1 是否通过 通过
代码语言 C++ 运行时间 0.004 s
提交时间 2017-05-25 20:01:08 内存使用 0.38 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
int map[129][129]={0},d,n,ans=0,maxl=-99;
int main()
{
	freopen("wireless.in","r",stdin);
    freopen("wireless.out","w",stdout);
	scanf("%d %d",&d,&n);
	for(int i=0;i<n;i++)
	{
		int x,y,k;
		scanf("%d %d %d",&x,&y,&k);
		for(int qq=max(x-d,0);qq<=min(x+d,128);qq++)
		{
			for(int ww=max(0,y-d);ww<=min(y+d,128);ww++)
				map[qq][ww]+=k;
		}
	}
	for(int i=0;i<=128;i++)
	{
		for(int j=0;j<=128;j++)
		{
			if(map[i][j]>maxl)
				maxl=map[i][j];
		}
	}
	for(int i=0;i<=128;i++)
	{
		for(int j=0;j<=128;j++)
		{
			if(map[i][j]==maxl)
				ans++;
		}
	}
	cout<<ans<<' '<<maxl;
	return 0;
}
/*#include<iostream>
#include<cstdio>
using namespace std;
const int mxn=500;
int f1[mxn],f2[mxn];
int a[mxn];
int n,ans=mxn;
void dp()
{
    int i,j;
    for(i=2;i<=n;i++)
	{
        for(j=1;j<i;j++)
		{
            if(a[j]<a[i]&&f1[j]+1>f1[i])
			{
                f1[i]=f1[j]+1;
            }
        }
	}
}
void dp2()
{
    int i,j;
    for(i=n-1;i;i--)
	{
        for(j=n;j>i;j--)
		{
            if(a[j]<a[i]&&f2[j]+1>f2[i])
			{
                f2[i]=f2[j]+1;
            }
        }
	}
}
int main()
{
	freopen("chorus.in","r",stdin);
	freopen("chorus.out","w",stdout);
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
		scanf("%d",&a[i]);
    for(int i=1;i<=n;i++)
        f1[i]=f2[i]=1;
    dp();
    dp2();
    for(int i=1;i<=n;i++)
	{
        ans=min(ans,n-(f1[i]+f2[i]-1));
    }
    printf("%d\n",ans);
    return 0;
}*/
/*#include<iostream>
#include<cstdio>
using namespace std;
int N,ans=0;
int zcz[101][4],zcj[101];
int main()
{
	//freopen("chorus.in","r",stdin);
	//freopen("chorus.out","w",stdout);
	scanf("%d",&N);
	for(int i=1;i<=N;i++)
	{
		scanf("%d",&zcz[i][1]);
		zcz[i][2]=1;
		zcz[N-i+1][3]=1;
		zcj[i]=1;
	}
	for(int i=N-1;i>=1;i--)
	{
		int js=0;
		for(int j=i+1;j<=N;j++)
		{
			if(zcz[i][1]<zcz[j][1]&&zcz[j][2]>js)
				js=zcz[j][2];
		}
		zcz[i][2]+=js;
	}
	for(int i=2;i<=N;i++)
	{
		int js=0;
		for(int j=1;j<i;j++)
		{
			if(zcz[i][3]>zcz[j][3]&&zcj[j]>js)
				js=zcj[j];
		}
		zcj[i]+=js;
	}
	for(int i=1;i<=N;i++)
	{
		if(zcz[i][2]+zcj[N-1-i]>=ans)
			ans=zcz[i][2]+zcj[N-1-i];
	}
	cout<<(N-ans+1);
	return 0;
}*/