比赛 |
20140711B班小测 |
评测结果 |
AAAAAAAA |
题目名称 |
等差数列 |
最终得分 |
100 |
用户昵称 |
1azyReaper |
运行时间 |
0.860 s |
代码语言 |
C++ |
内存使用 |
2.02 MiB |
提交时间 |
2014-07-11 15:49:03 |
显示代码纯文本
#include <fstream>
#include <algorithm>
#define MAX 500000
using namespace std;
ifstream fin("ariprog.in");
ofstream fout("ariprog.out");
int a[MAX];
bool flag[MAX],f=true;
int main()
{
int num=0,n,m,d;
fin>>n>>m;
for(int i=0;i<=m;i++)
{
for(int j=0;j<=m;j++)
{
if(!flag[i*i+j*j])
a[num++]=i*i+j*j;
flag[i*i+j*j]=true;
}
}
sort(a,a+num);
bool b;
int p,c;
int max=2*m*m;
int d_max=max/(n-1);
for(d=1;d<=d_max;d++)
{
for(p=0;a[p]<=(max-((n-1)*d));p++)
{
b=true;
for(c=(n-1);c>=0;c--)
{
if(!flag[a[p]+c*d])
{
b=false;
break;
}
}
if(b)
{
f=false;
fout<<a[p]<<' '<<d<<endl;
}
}
}
if(f)
fout<<"NONE"<<endl;
fin.close();
fout.close();
return 0;
}//signed by XPK